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