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