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