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