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