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