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