%%%%%====??>>>+++))***!!!!;;:;=&&###@@@@@@@#########$$$######%>*!:::::::::::::::
%%%%=====??>>>++)))**!!!!!;::>%%$###########$$$$##$$$$$#######%+*!::::::::::::::
%%%%%====???>>+++))***!!!;--!=%&#########$$&&&&$$$$$$$$########=+*;:::::::::::::
%%%%%====???>>>+++))****!--:>=%&########$%====%%&$$$###########$=+)!!!!!!!!;;;;;
%%%%%=======???>>>+++))*---!==%$######$%?>++++>=%&$$#######@####$=)*::::::::::::
%%%%%=====???>>++)))**;----+=%&$#@@##&=+)*!**)+?=%$$############@$=)!:::::::::::
%%%%%=====???>>++)))*!----!?=%&$#@##$=+!;;;;!*+>?=%&##############$>);::::::::::
%%%%%====????>>+++))!---~;)=%&&$####%+!::::;!*)+>?=%&$###########@#&+*::::::::::
%%%%%====???>>>++))!---~:!>%%&$$###$=);:--::;!*)+>?=%&$#############?)!:::::::::
%%%%%====???>>>++)*---~-;*=%&$$$###$?*:----:;!!*)+>?%&$$############&+);::::::--
%%%%%=====???>>>+):-:--:!>%%&$$$###&>!:---::;!!)+=%$$$$$#########@##$>)*;:::::::
%%%%%%====????>>+:-::~:!*?%&&$$###$&+!:::::;!+?%$$$$$#############$%?>))!;::::::
%%%%%%====?????>;:::-~;!>=&&&$$####&?>+*!;;*>%&&%?=&$$##$$########?*+**+)*;:::::
%%%%%%====????>*-:::~-!)>%&$&$$#####$&&=);!)?%=>>=$#####$$#######&+;!)?>)*;;;:::
%%%%%%%===????+-:::-~~;??&$&&$$####$%%=?+!;*?=>?$$#####$&$$###$=?+*!!*==+)!;::::
%%%%%%====???>;::;:~~-;==&$&$$$#####$$&=+!:!?=+&==$$#$&%%&$$##&=+)!)))=%>)*;::::
%%%%%%====???*::;;-~~-!?&$&&$$$#####$##$+;-:>=)+)>?=??>?%$$$#$%>*;*!+=%%?))!::::
%%%%%%%===??>::;;:~~~-*>&&&&$$$#####%&&=!:--+?);;;!!**+?&$$$#&%>):*+>>=?+))*;;;;
%%%%%%%===??!:;;;-~~~:)=&&$&$$$###$$%?+!::~-+?+!;::;!*>=$$$$#&%?):)??=%?>>+)*;;;
&&%%%%%====>:;;;:~~^~;+%&$$&$$$##$&%>)!:--~-+=?);;;!*+?%$$$$#&%>!;+=%=%===?)*!;;
&&%%%%%===?!:;;;-~^^-*>&$$&&$$###$&=+*;:--~-)=%>!!!*)>%&$#$$#&&=>?=%%%%%=?>)**;;
&&&%%%%===>:;;;;~~^~-!>&$$&&&$###$%?)!;:--~-)%%%)!**+?&$$$$$#$&&%%==%%%%?+>)***;
&&&%%%%%==*:;;;-~^^~-!?$$&&&$####$%?)!;::::!?&%&?**)+)=$$$$$#$$##$&$&%=+++>+)**!
&&&%%%%%=?:;;;;~~^^~;)&&&&&$######%?)!;::*?+=$&&=))+>!!%$$$$#$#######$>*+++>)***
&&&%%%%%=):;!;:~^^~:)?%%%&$$#####@$?)*;:-:;:!+??>++>?+:+&$$##$$######$?*)++>+)**
&&&&%%%%?:;!!;-~^^:?==%&$$$$#######=+*;:-~~-;)>>?>??=%);>&$#$$$$#####$?+)+++++)*
&&&&%%%%);;!!:~~^!=%%%%&&$$########$>*;:--;*>%&&$%%%%&$+;*=##$$######$=>++++>++)
&&&&%&%=;;!!;~~^:%&%%%&$$$#########@%);::;>%%&&&=%%%%&$$):!=#$########%?>>++>+++
&&&&&&%+:;!!:~~^!%%&%$$$$############>!;:*&#$&&=++!;;)%&&*:)&$########$=>>++>>++
$&&&&&%;;!!;~~^^!=%&&$$##############&);:;*)***+&&?!-;))+>??%$##@######%?>>>>>++
$&&&&&>;!!!-~~^^-??&$##$##############&*;:;*!*+=&&%?+?=?>+)))+>=&$#####$=?>>>>>+
$&&&&%*;!!;~~^^^~+>%$#################@&*::;)+>);--~-:*>=%%=?>)))+>=%=&$&=?>>>>>
$&&&&=;!!!-~~^^^^;>?$$##$$$############@&*:-~~~-:::---:--!>%$&%=?>+++!&$$&%=????
$$&&&);!!;~~~^^^^~)>&$$$$$##$$##########@#>;:!)>?=%%=>?*---;+%&$$$&&)>$$$$&%==??
$$$$&;!!;--~^^^^^~*>%$$$$##$$##############%+)+>??>*:-:!!;:--;)>%###$$#$$$&&%=?=
$$$$+;!!:~-~^^^^^~*+%$$$$$$$###############$%=?>):~~---~--::-:;!)&######$$&&%===
$$$$:!!!~~~^^^^^~-*>=#$$$$$################$&?*-~~:!!;::-~~---:)=&#####@#$$&&%==
$$#?:!!:~-~^^^^^-;+?%&!%$$#################?;~~:)>):~~~~-:----;?$##########$&%==
##$)!!;-~~^^^^^~*==&$?')$##################=>*+>?!^^-:~~~~-~-*%$#$##########&&%=
##&;!!:~-~^^^~~~:*)&$>';$$#################$=%=?!~;)>>;;:~~~:>$$$$$$$$$$$$$$$&%=
##>;!!~~~^^^~*=+!*?&&?-!$#################$=)?=!-)?>?+!)*~~-*=$$$&&&&&&%%%==%&&%
#$!!!:~-~^^^-+%%*)>%$&%%##################$?*!+;;%=;!!)!;-~:)%$$$&%%====?????==%
#%;!;~~-^^^~;+==+)+>?%%?$#################$=)!;;:*+:*)*:-~-;)%$#$%????>>>>>>>>?%
#+;!:~-~^^^:*+>>>>?%::?+?#################$%>!!::::-!++-~~~:)=$$$?+>>>++++++>>?=
&!!!~~-~^^^--::^^~:-~;==>&$###############$%>!;;;;:;!*);~~~:*=$$$=>>++)))))++>?=
>:!:~--~^^^^^^^^^^^^~!=%%=%%&#############$%>*!;:;!;!*!*-~~-*?&$%==?))))))))+>?=
;!!~~-~^^^^~~~~~~~~~-)&$$$$&%&###########$$%>));;*!:;**!:~~-*>%?=>?=*******))>?%
;!:~--~^^^^~-;::::;;*>%&&&&%%%$$#$#######$$&=)*;:!;-*+;;)-~:!+))+>?=*!!*****)>?%
!!-~-~^^^^^~-;!)+>?%%&$$$$$####$$#######$$&=>*!:-:::!;;:;-~:;*!;!+>=)!!!!;;;++?%
!:-~-~^^^^~-:::::;!*+>==%&&####$$#######$$%=?+!:-:;;!!:-:---::;;;)+=?!!!:--)+>>+
!----^^^^^:!*!!!!!!*))++?&&&####$#######$&%=>>*:;*;:-:---~~-:!);;+)==!!:~~:))+))
;---~^^^~:)+>>+++)++++>>?%=%##########$$&&%=%?>)+*!:-~~~~~-::;;-!*!>%)-~^^~;!;;!
--~-^^^,~;*)+>?=====%%%%&&&$#########$$&&&==%?>++);--~^~~~~~:--:;*:>%?~~^~::;)?)
---~^^^,~~~:!)))))+>?=%%%&$##########$&&$$%=%?>++):--~^~-~~~--!!:::>%=::-;!;*%==
:~-~^^^,~~^~!++>>>>??=%%%%&$$########$$$$$&&%??>+)::**-~~~----;-+*:)=>*:*!!)??>?
-~~^^^,,^:~;+?====%%%&&&&&&$$#########$$$$&%=??>++!++)!~~~~--~^~!-:)>+=!!!*)+++?
-~~^^^,,^-:!+>=%%%=?????=&$$$#########$$&%%===?>>+)))**:~~----~~:--!)>=*!)>???>?
~-^^^^,,,~-::;+>>>>>>?===&##$#########$$%=?>==??>+))***!~-::-~~~-~:;!==+)>=%%=??
~~^^^^,,^,^---)?????>>+?$##$$#########$%==>>%==?>+)***!!--:::-:-^:);-+=>>?=%%=??
~~^^^^,,^^^^::)+++)!;!!&####$$########&%??>+?%=?>)!*;:;:~~--::-:~^:--+>>>?%%%==%
~^^^^^,,,^^^-*)++)!:-:;>###$$$$$#####&%?>+++=%%=>):--~-~~~~----~~~^~~)+===%%%%%&
~^^^^^,,,^^^:)+>>*;:::*+$$#$$$$$&$#$&=??+))+&%%=>;~^~~~~~~^-----~:~^*?>=%==%&%%&
~^^^^^,^,,^^~)+>);;:-:!)?&$$$&&&&$&+)++>)**?%%&%>!:~^~~~~~^~--::-~~~*==?*??%%%%%
~^^^^,,,,,,^~;*:::;:-::!*>%&=???&=*;!*!***++)=&&?;-~^~~~~~-~-:;:-~~^)===*>=%&&&&
^^^^,,,,,,,^~--::-::::::!*)?>!!+)!:;:;;!*>+**>$&?;-~~~~~----~:;:~^^^>=?+:)=%&&&&
^^,,,,,,,,,^~:!+!:::::::;!;!)+!::::-::;;;)!!)=$&;~~~~-~~--::^-;:~^^->?+::;?%&&$%