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