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