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