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