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