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