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