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