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