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