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