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