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