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