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