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