;
;:;;=;;;;=; ;=
+=,;;:,....,,:;:;::,, ;
*;:::,,., ...,........, ;
, .,,,,,. ..,,:,:=;;,,,...... . ..,,,;
;,,+:;+,::=,+;=,=<=;+::,,, ..=
;=:=<+}{)<>*+,...:,:., :;,. .,..,. . ,
=*:;;:+;:: . .,.,.. ;;...,=...,,.. .
+<*=,.. . .: .. :. .....
*<*::::, .=:. . .
+*:..,...,... ,+=+:.. ,
)<: ..;====**+*=**==,. .,=++<**=,,.... ,
=<(* .:<<()>=;++*<{>((([}[[[[[[[[}})<*=;:,. ,
=*,: ;*>)><)[]]]]]]]]]]]]]]]]]]]][[[[})*+;=, ,
==.,.,. .+*;:>[%%############%%%%%]]]]][[}}{{<*+;
:.=..,,.:<*:*%#@@@@@@@@@@@@##%#%%%%%%]][[[}}})<<+,
,.;:.:,:=<*)@#@@@@@@@@@@@@@@###%%%%%]]][[[[}}{>>*; .
;..;++:(##%##@@@@@@@@@@@@@@###%%%%%]]][[[[[}{>(<;
+ .:<(+#####@@@@@@@@@@@@@@@####%%%%]]][[[}}}(>(>=..
:{+%%###@@@@@@@@@@@####@@####%%]]][[[}}})){(<.
. . {<%####@@@@@@@@@@@@@##@@@@###%%]][[[[}}{))))* .
....;@####@@@@@@@@@@@@@@@@@@@##%%]][[[[[)){)()));
.. *@####@#############@###%%]][}>+++++;:;;=<*>)
,.,,[#%#%]%%%]})(((}[]%#%#%][][<;.. ,:;;=====++*(. .
,,%%%%%%%%]]}})(>[[]]%%%][{*::, .=({><<*+**+*<>.
,.;[%%%%#%])}{>(<;:>[]%@@%[*; .=))(=:==,,:;=+<>),
:.:#%##%]>*(>=* ;{==%%#@@%]*; ,:>@;.,=];,:=>()>):
+{##@###%%%]{){]]]###@#%]}<:=]]]%%]{(>({)}}}(); ,*+
%(;}#@@@@@@@@##]]]%####@@#%[(>({[[]][]]]]]][}}((* =>=.
>@{{#@@@@@@@@@@@#@@@##@@@##]}(>}[[[]%%%%%]][}})(> *{)
}]@@{##@@@@@@@@@@@@@@##@@@@#%]}>>]]]]%%%%]][[}})<> +([.+
@%@#(##@@@@@@@@@@@@@@@@@@@@#]]}[[)]]]]]]]]][[}}(<<..,<=
%#@#(##@@@@@@@@@@@##@@%[#%]]};,<[)}[]]]]]][[}}(>*+ ..,<
@@%>##@@@@@@@@@@##@#)=>[]{>::. ;:*[]]][[[[}})><== ..:<
@##*%##@@@@@@@@##@@@#]##%][[+==([][[][[[[}}{>*+:, .;+,
@@@>[%%##@@@@@#@@@@#[[[{)[%}<==:,+*>}][[[}}(>=:,. =<,;
@@@+{[%%##@@@@#%]}}[[[{]%%[)){*>*:,::+[[}}>+=,,.. +*=>
@@@(<{]]%###@#}(<)#]>>({(*<()+:,.,....:{[(=;:,.. *{(
@@@#>*[[]%%#@[=;:.=(}@@@#@@@#%]]{:.,<.::>*;,,..
}<<[}[[%%[((:=[@@###%[}})}))(()(){*::;;:...
:>}[[]]]%}{@####%[[}<>>}>){}}}}[>:::,....
;*)[>}][[%##@#@@#%%%][[[[[[[}}{<=,,,.. .
+:;<<{{]}{}[{}]@@@#%%[[[[[}{>*+:,:.
:::*;<(>(*>+)}[%%][][((*==:;:. .
..:=+,<=;===+}}[}><)(;;:,,,. ,
(..,,,=:;;;+*><**=;;+,,: . :*
}[;,; :..,,=;::,....,,.. :**(
@#);. .:,. , . :;=*<(
@#%]>: .... .,;=**<
@@#%]])=,. ..:;=+*<<<
@####%]]])<;=;,. ...,:;=+++*<<=.
*#@@@@###%[]]]]]][>++,,,,:::;=+++*+**>,
<;>@@@@@@#%%%%]]]][[[}+;;;;;;==+++++++, ,
<>.}<@@@@@@###%%%%]]][{========+++++==: .
(**(,}>)@@@@@@####%%]]][}><++====+++==;:.
<<*<>.){=)#@@@@#####%%%]][[[}(*++=+++=;,.
*><<<<<>).>>},<%####@####%%%]][[}{<+==+++=:,..,
*<+=*(><***<(.*>)<.(%%######%%%%]][[})+=*<>*==;..:; .
+*+=+=+(>><<>>>(,=<>{;:>]]%######%%]][[{{{>()(+;;;,;;: ........
+><<**+===(>>><>>>>(:,>>({=,<[]%%%%%%%]]][}{))(}}>;:;;;;+, ...........
*>*<***<+++=;<<>>><>>>((=.>>>});:*}[]]%%%]][[[}}}{}}}*;;=+<::: ....,,,.....,....
+<><**<<<***++++=*<**>><>>><(>:*(); =:=[[]]]]]][[[[}[[[[[*;+<<, . ..,,,,,,,,,,,,,,........
*<*************++++++)*+**<><({{))=:{> =;<[[]]][[[[[[[[]][[*<}< ..,,,,,,,,,,,,,,,,,....... ,
+***+******<<******++++=+=:==*><<){{{){<,)< ,.;)][]][[[[]]]]%%][[%* ...,,,,,,,,,,,,,,,,,,,....... ,.
=<*++++********<>>><****++++=+****+;())){}){>,{+ ,=+]]]]]]]]%%##%]]#< ..........,,,,,,,,,::,,,,,,,,,,,,,,,..,,
*=:<+***++<<<<<<<<<<<<<****++++++*<<<**)(({{{}{):(. :::[]]]]%%%%####@* .....,,,..,,,,::::::::,,,,,,,,,,,,,,.,, ,
<++:<***<<>>>>>>><<<<<<<<<**++++++<>>><<()){{{{{)=* .,,.;}%]%%%%###@}+. ....,,,,,,,.,,,::::::::::,,,,,,,,,,...,, .
<++==>>>>((((((>>>>>(>><*****++++*)<<<>>()){{{{{)>; .;, ,,,:. ;{%%%%%%#<;;+ . . .....,,:::,, .,,::::::::::,,,,,,,,,,.. :,
<*<<,{(()))))))))))((((><*****+++<}<<<>>())){{{{{) =<* .,::==;, :]%%%#>=+=+ ......,,,,,,::::. ,,,:;:::::::,,,,,,,,,,... ;.
>>().}{{){))){{))))))(((><********{<<<>>(((){{{{{}, .:+>);,,;;;=+;; )%#<*+: ,,,,,,,,,,,::::;:. ,,,::::;::::,,,,,,........=.
<<>)}*=}{{{{{{{{{))))((((>>>***++**)<<<>>((((){{{{); ;*()>::;==;;(**. {)+. ;:,,,,,:::::;:;;: ,,:::::::,,,,,,,........ ,:
<<>)}>.[{{}{}{{{{{)))))))((<*<*****>)<<<>>>>())){{}* ;*){);;==+===))<:+ . ..=::,,::::::;;;;;; ,,:;;:::,,,,,,,,,....... ;:
<<>({):<}{{{}}{{))))){{{))><<<<**+*<)><<<>>>()))){}< :=>){<===++++=*), .,:= ,,+::,:::::;;;;;;;; .,,:::::,,,,,,,,,..... +.
>>>()}*,]}}{{{{{))((){{{{))>(><<<<<>)(<*<<*<>))){{{>. :;*{))==+++++** : . ..,,;;+=. .,:+;;::::::;;;===;: ,,::::::,,,,.......... .=
><<>({{.{{}){{{{))(()){{{{){>>><<<<>((<*<<*<>((){{{(: :,=))}==++**++; ...,:;:;=+<=. .::*=;;:::;;;;=====. ,:::::::,.,........... ,=
><<<>({=;)){{{{{)((()){{{{))(>(>>>>>>(>+***<<()){{{(= ,,=>({<=++**;+ .:==;;;;+((; ,=;(==;:::;;;;===== .,::::::,,............. ;,
(>>>>>)< )(){{{)()((()){{{{{)(((>>>><(>++***>>(){{{(+ ..;<(()+++++:= .;====;;;<(>: ,=;<=;;:::;;;;===;; ,:::::,,.,.. ....... =.
(((><<><,=>>{)))((>(())){{{{{))((>>>>>(++***<>>)){{(* .;*)){+=++;,; ,:=+++=;,=((<, :==<;=;:::;;;;====; ,,::::,,,.... ..... . ;
>((><*<<;.<<()))((>((()){{{{{))((>>>><(*++**<<>()){(*: ;+(({*+=;;,; ,;+**+:::>()+. :=+*;;;::::;;;;==+. ,,,,::,,,... ..... .
>((>>**** +*<()(>><>>(((){{{{))))(>>>>>>+++***>>(){)<: .;=<()>+;,:,=.;++**;,,={{)=. ;=**;;:,:;:;;;==== ,::,:,,,,... . . .
>>>>><++*:.++>(><**<>>(()))))))))((>><><+=++***>(())(= .:;>)((=;,,,+,=+++=,,,+}{>:...;=**;;:,:;;;;===;; .,,,,,,... .
><<<***=*; +=<(><***>>((()))))((((>><>><++++***>>(()(= ::+)((=;,..=;====::,:<){<,,,.;=**;;:::;;;;==+:, .,,,,,,... .
><<<++==+=..=*>><***<>((((((((((((>>>><*>+++***<>(((>+. ,:=>()=:...;;;;;;::,;({{=,::,;=<*;;:::;;;;==+: .,,,,,,...
<**<*+==;;: ;+<<<*+*<<>>>>>((>>((((>>><*<++++++*<>>((+: ,,;>()+:...;;::;;:::+}}(:,:;;:=<+;;:::;;;====, .,,,,,,..
**+**+==;;; .;**+++*<<<<>>>>>><>>>>>>><***+=+++**<>>(<; ,:;*()+:. .:::::::::>}{*,:;;;;=*+;:::::;;====. .,,,,,,.....
++++++==;:; ,+++++*<<<<<>><<<<>><<>><<**<+==+++**<>>>= :;+*(+:. .::,,::::<}{)=,,=====*=;::::;;;===; .,......