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