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