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