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