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