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