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