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