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