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