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