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