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