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