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