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