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