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