&%&&&&%&%&&&&%%%%%%&&&&%%&&%%%%%&%&&%%&%%&&%%%%&&&&&%%%%&&%%%%%%%%%%%&&&%%&&&&&&
&%%%%%$%%%%%%%%%%%%%%%%%%%%%%%%&%%&&%%%%%%%&&%$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%@@@@@@@@@@@@@@@$$$$$$$$$$@@%?{!!++++++++!!{?%@@@@$$$$$$$$$$$$$$$$$$$$$@$$$$@$$$
%?$@@?&?????@@@@@@@@@@@@$@@@$&{{+===~~==***+!%&%@&@$$$$$$$$$$$$$@$$$$@@@@@@@@@@@
%&@$@@@@@@@@@@@@@@@@@@@@$@?@$$$$&+===*!?&&?{{&@%$&@$$$$$$$$$$$$$$$$$$$$$$@@@@@@@
&$@&@@@@@@@@@@@@@@@@@$@@$@&?$&&&&!*==+{?&&%%?&@@$%@$$$$$$$$$$$$$$$$$@@@@$@@@@@@@
%@$@@?@&&?@@@@@@@@@@@@@@$@%@%{!+?{+=*!{{+!?&&&$#&$@$$$$$$$$$$$$$$$$$@@@@@@@@@@@@
&$&@$?@&?@@@@@@@@@@@@@@@$@?@%?{??&{=+??{!+!???%&$%@$%$$$$$$$$$$$$$$$$$$$@@@@@@@@
%&%@&@?@&@@@@@@@@@@@$$$$$@&%%$@&$&!=+??%$%??{{%@@%?$$%%@$%%%$$$$$$$$@@$$$$@$@@@@
%&%@&?&@@@@@@@@@@@@@@$$$$@@???&&??+*!{!{$%&?{!&@?$$$$$%$$$$$$$$$$$$$$@$$$@@$$@@@
&?&@&?&??@@@@@@@@@@@@$$$$$${!!!+{?+*!!!++!!+++?@@&%$$$$$$$$$$$$$$$$$$$$$@@@$$@@$
&?&@&?&@?@@@@@@@@@@$$$$$$$${+++*{{**!++******+?@${&$%$$%$$$$$$$$$$$$$$$$@@@$$@@$
%&%@&??@@@@@@@@@@@@$$$$@$$${++++!!**!!*****+++?@${?$%%$%$$$$$$$$$$$$$$$$$@@$$@@@
%&%@&@?@@@@@@@@@@@@$$$$@$%$?+*++!+*=!!**==*+!!?@${?$%%$%$$$$$$$$$$$$$$$$$$$$$@@@
%&%@&?&@?@@@@@@@@@@@@$$$$&%?+***!{**!+*=*!!{{{&$&!?$$%%$$$$$$$$$$$$$$$$$$$$$$@@@
&?&@&?&?@@@@@@@@@@@@@@$$$&%?!***{&{?&!+=+?&?{?&${!?$$$%$$$$$$$$$$$$$$$$@$@$$$@@@
&@?@&@@@@@@@@@@@@@@@$$$$@%&?!+**!?{{&+=+!?&?{?&&+{$$%$$%$%$$%%$$$$$$$$$@$@@@@@@@
&@?@&@@@@@@@@@@@@@@@$$$$@%%&!***!?+*+**+!{!!{{??{?%%&$$$$%%$%%$$$$$$$$$@@@@@@@@@
&@?@&@@@@@@@@@@@@@@@$$$$@$$&!*+*{{=~==*+&&????&??{{{!{?&%%$%$$$$$$$$$$$@@$$$@@@@
&@?@?@@@?@@@@@@@@@@@$$$$$$@%{+++*=-=*+{&%$%%%%$%&?{!!!!{&%$%$$%$$$$$$$$@$$$$@@@@
&@?@?@@@@@@@@@@@@@@@$$$$$$$%{!+*~-~+??%$$$$$$$$$$%&??{{{{&%%$$%$%$$$$$$$$$$@$$@@
%@?@?@@@@@@@@@@@@@@@@$$$$$$%{+*=*+!?&%%???!!!{&%%$%%&???!?%$$$$$%$$$$$$$$$@@$$@@
%@?@@@@@@@@@@@@@@@@@@$$$@$@${++*+?&&%%&{*=~=*+{&%$%%%??&??%$$$$$%$$$$$$$$$$@@@@@
%@?@@@@@@@@@@@@@@@@@@$$$$$@${+++{&&&%?{!+{?&&{??&$%%&?&&&?%$$$$$$$$$$$$$$$$$@@@@
&@?@&@?@@@@@@@@@@@@@@$$$$$$%?!!!?&&%?{?{&$@@$%%%&&%%&??&??%$$$%%$$$$$$$$@$$$$@@@
&@?@&@&??@@@@@@@@@@@$$$$$$@$&??{&&&&??&&$@?@@$$%%%%$%&?&??%$$$$$$$$$$$$$$$@@@@@@
&@&@&?&&@@@@@@@@@@@@$$$@$$$$%&&&&&&%&%%$@%$%&@@%$%$$%&&&&?%$$$$$$$$$$$$$$$@@@@@@
%?&@&@&?@@@@@@@@@@@@@@@@$$$$%&&&%&%%$$$@%@@$@@@$$$$$%%&&&&%$$$$$$$$$$$$$$$$@@@@@
%&%?&@@@@@@@@@@@@@@@@$$$$$$$$&?&&&%%$$%@%@@$$@&@$$%$%%&&%&%%%$%$$$$$$$$$$$$@@@@@
%&%@&@@@?@@@@@@@@@@@@@$$$@$$$&?&&&%%$$%$%@@%%@&@$$$$%%&&%&%%$$%$$$$$$$$$@$$@@@@@
%?&@&@@@@@@@@@@@@@@@@@@@$@$$$&{?%&%&%$%%$@$%@@@$$$%$%%&&%&%%$$%$$$$$$$$$$$@@@@@@
&@?@&@??@@@@@@@@@@@$$$$@$@$$$&{?&&%&%%?@$@$%&@@$$%%$%%&&%&%$$$%$$$$$$$$$$$$$@@@@
%&%@??&@@?@@@@@@@@@@@@@$$$@$%%{{%?%&&&{%@&&?@$%%$%%@%&&%%&%$$$$$$$$$$$$@$@@@@@@@
%&&@??%?@@@@?@@@$$@@@@@@@$$$%&?{&&%&&%?&$$%&???&%%$$%&&%$&&%$%$$$$$$$$$$$@@@@@@@
%&&@&?&?%&@@@@@@@@@@@@@@$$@@%?!!{&%&&%&?&%&&???&&$$%%%&&%&&$$$$$$$$$$$$@$@@@@@@@
%@&@&@&??@@@@@@@@@@@$$@@@@&@&{++{&&&%%%?+!{{{{{?%@$%%&????&$$$$$$$$$$$@@$@@@@@@@
%@&@&@@@@@@@@@@@@@@@@@@$$%&{++*++??&%%$&{{!!!{&%$@$&&&{{!{?%$$$$$$$$$$$@$@@@@@@@
%@&?%@@@&&?@@X@@@@@$%?{{!*=~~+***{?&%&%$$$%%%$@$$$%%$%%%&?&$$$$@$$$$$$$$$@@@@@@@
%?&?&@@@@@@@&$%$&?{!*~-'~-''~***+?%%&&%$%$@@@@$$$%%$@?%&?$$$$$$%$$$$$$$$$@@@@@@@
%?&&&@@@@@&&@$?+=~---'''-''''~=+{$&$%&&%%$$@@$%%%%$$$@$@$&&%$@$$$$$$$$@@$@@@@@@@
%@&%?@@@@?&${=~~----'''''''''--~+@@$&&%&%$%$@$$%%%%$$@%$!*~=?$$$$$$$$$@$@@@@@@@@
&@%&@@?@&@%!~---''''''''''''''''=%$$&?&%&%%$$%%%%%%$$?%${~''~?@%$$$@@@@$@@@@@@@@
%@@@@@?@@%!~''--'''''''''''''''.~&$%?{?&&%%$$%%%%%%$$?$$!''-'*%@@@$$$$$@@@@@@@@@
%$$$@@@%@!~-''''''''''''''''''''~&$%??&&&%&%%%%&%%%$$@$!-'.'''*?%@@$$@@&@@@@@@@@
&$@$$$@@!='''''''''''''''''''''''+?&?&?&?&&&%%%&&&&$@${-.-'.''.'*?$@@@@@@@@@@@@?
&@@$@@${~--'''''''''''''''''''''.'*&&??&&%%$$$@$%&&%$@?-'''''''..=&@@@@$@@@@@@@&
&@$$@$?=---'''-'--'''''''''''''''.=&???&%$$%$$@@$$&&$@%*'.'-'.'-'-{@@@@@@@@@@@@?
&$$@$?*~~''''''''''''''''''''''''.={!?&&&%&{{?%$$$&&%$&=.''''''''.*$@@@@?@@@@@@&
&@$?&=~~--'''''''''''''''''''''''.={+{&&&&????&%$$%%%$%+'.'''-''''=$@@@@@@@@@@@@
&@@$!~=~--''''''''''''''''''''''''=!=+?&%&?{??&%%$%%%$%!~'''''''''*$@@@@@@@@@@??
&@$?~-=--'''''''''''''''''''''''''=+~*?&%&{{???&%$%&%$%{=--''''''-+$@@@@@@@@@?&&
%$&*-~=-''''''''''''''''''''''''''~+=*??&?{{????%$&&&%%&*-'''''''-*%&@@@@@@@@&&%
%&!~~=~~''''''''''''''''''''''''''-+=*{???{{???&%%&&&??&='''''''''~&%@@@@@???&%$
&!*-~=-~'''''''''''''''''''''''''''*=*{?&&?{?&&%%&?&?{{?~''''''''.'!&@@?@?&&?&%@
&=~~~~~~'''''''''''''''''''''''''''*~~+{?&&&&%%%%&??!!?{~''''''''''*@&@@@&%&?&%@
%-~=~=~-''''''''''''''''''''''''.''*~-+{{&&%%%&&&&?{+!??~''''''''''=$%&@@&%%?&%@
%~~=~~--''''-'---''-''----'.'''.'''+*-={???&%%&???{++{&?~'''''''''.=$&@%@?&&&%%@
%~==~~~--''-..-~--''--'''''''.'''.'++--+{{{?&%&???!++?%{-''''''''''*$$@?@????&%$
%~==~~~---'-=*'-==-..--.--'-'''''.'=*=-~!{{{?&???!++{&?=''''''''''~!$?@&?&??@?&%
&~==~~~'-~-'=!=~!*=~'~=-=*=~'''.''''=!=-=!???&??{+*!?!='''''''''-~+&@@@%&&&?@?&%
&~==~~~'--~-'~!=-'-~-'-=+{!*-''''''.-{!=-*!{??{!+++!+~'''''''---~={$%@@@%%%&?&%$
%~==~~~-~--~=~*-'**==~~*!!+*~.'-''''-{?!~==*+!+*+{+*~'''''---~~~=*{$@%@@&%%%&%%$
%~===~---~-~!*-~~+{*~=*==~-~~''''''''{&+~***+!{{&&+~------~~=**=**+?@@?@?&%%%%%%
%~===~---=~---'!~'*+''*-'''--''''''''{%=-+?&&%%@&@{=~---~~==*++**==+%?&&@?&%%%%%
%~==~---~==-''-==~'~=*='.~!+=~'''''.-{!-'*??$@@#@@!~~~~~==+!{!+=*===*?@$%&@%$@&&
%===~--~~=~-'''-=~'--~~''*{*--'''''.'!+.'*{@$@@@%@{=====*!&&{+****=~-=?@$&@??@$$
%====~~~==~-''''----'''.'=+-'-''''''-++.-*{@$@@&%@{==*+!??&?!+***=~--'={@@&@@@&&
%==*=~~~===~-~~--~===~~'''-''-''''''~!!--*{@$@@@%@{*+{{?&{!++++*==--~''=%&&@&&$&
%==*=~~~~~===*+++++*===-'.''''''''''={?=-*{@$&@@&X&{&&??!!++******~--''=&@&@%&%@