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