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