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