@@@@@@@@@@@@@%@@%%@%###(>{=*<[{%@@%@@@@%{#%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@%%#%@%#(^   ~   :<}@@@@@@@@@%@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@%#{#%%@@@%       (#%%@@@@@@@@@@{{%%@@%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@%{{%%#@@@@@(      . <}@@@@@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@%%}#%#@@@@@@@@.       {@@@@@@@%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@%%#{##%@@@@@@@%{ -]   [%@@@@@@@%%%###%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@%###@@@@@@@@@@@%%{ +   @%%@@@@@@%%##############%%%%%%%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@%#{#%@@@@@@@@@@@@%{({[~+@%%@@@@@%################%%%%%%%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@%#{%@@@@@@@@@@@@@@@@%}%#(#%@@@@@@%%##{{{#{{{{{{{{#######%%%%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@
@@%#{{%@@@@@@@@@@@@@@@@@@%%%#[%@@@@%%%##{{{{{{{{{{{{{#############%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@
@%#}[%@@@@@@@@@@@@@@@@@@@@@@#%%@@@@%%##{{}}}{{{{{{{{{{{{#######%##%%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@
%#{}#@@@@@@@@@@@@@@@@@@@@@%%#%%@@@%%%{{{}[[}}{{{{{{{{{{{{{########[#%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@
{{}%@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@%%#{}}[]][[[[[[[}}{{{{{{{{{{{{{}*}#%%%%%######%%%%%%%%%@@@@@@@@@@@
][%%%@@@@@@@@@@@@@@@@@@@@@@%%%@@%%%##}}[[]]][[[[[[[[}}{{{{{{{{{{{{###############%%%%%%%%@@@@@@@@@@@
#%%%%%%@@@@@@@@@@@@@@@@@@@@%##%%%##{{[[]]((]]]]][]]][}}}}}}{{{{{{{{{{{{{{{########%%%%%%%%%%@@@@@@@@
@%%%%#%%%@@@@@@@@@@@@@@@@@@%##%###{{}]]]())((]]]    (][[[[}}}}}{{{{{{{{{{{########%%%%%%%%%%@@@@@@@@
#######%%%%%%%%%%%@@@@@@@@%#%{##%#{[])))))<)))(((   ([[][[[[}}}}}}}{{{{{{{{{{{{{{##%%%%%%%%%@@@@@@@@
{{{#{######%%%%%%%%@@@@%@(##)}{###{[(<<<<<><))))])><]]]]]]][[[[[[[}}}}{}}[{{{{{{{##%%%%%%%%%@@@@@@@@
{{{{{{#############%%%%@@@@%{}{{{#}])>>>>>>>><<<))(((((   >]]]]]]][[[}}}}}{{{{{####%%%%%%%%@@%%%@@@@
{{{{{{{{{{{{{{{}{{####%%%@@%{}{{{}])>^^^^^^^><<<<))))))*   =(((]]]][[[[}}}{{{{{####%%%%%%%%@@%%%@@@@
{{{{{{{{{{}}}[[[[][}}}}{%%@%}[[[[[(>*++++***^>>>>>>><<<<)(     >)([[[[[}  >( [[{{{{######%%%%%%%@@@@
}}}}}}}}}[[]]]]((((]]()]{%@%[]((](>+~=++++++**^^^^>>>>>><> =->- ))[]][[}]>]{}}{{}{{######%%%%%%%@@@@
[[[}[[[[[]]]((()<>^<>+~^({%#<)(())*----~====+++++***^^^>><<<<<)))((]]][[[}}}}{{{{{{######%%%%%%%%%@@
]]]]]]]]]]]()>^*+*^*~~=.*[%#- ](    :..:----~====+++**^^>>>><<<))(((]]][[[}}}}}{{{{######%%%%%%%%%@@
)(]((((](<<<<<>==+=~-~+  >#{=%@@@.       .::::--~~=+++**^^>>><<)))(((]]]][[[}}}{{{{{#####%%%%%%%%%@@
)))(((()<>>=--=~~       .*%@%%@%}-            .:-~=+++**^^>>><<)))(((]((]][[}}}{{{{{#####%%%%%%%%%@@
)<<<)))<<>*+*=-        ..~}#%@@{+                 ==++**^^^>><<)))(((]]]]][[}}}{{{{######%%%%%%%%%%%
))<>><<<>*-.      .  :    #%%%@@#                -~=+++*^^^>><<)))(((]]]]][[}}}{{{{######%%%%%%%%%%%
)>>>>>>>>>*+~=~::   :     }@@@%%@%= *]             -++**^^^>><<))((((]][[[[[}}}{{{{{#####%%%%%%%%%@@
)^^><<<>>>^~++~ .         }@@@@@@%%{{#               .**^^^>><<))((((][[[[[[}}}{{{{{#####%%%%%%%%%@@
)>>>>><>^^*++*~: .  .     }%@@@@@@@@@%                +*^^>>><<))(((]]][[[[[}}}{{{{{{####%%%%%%%%%%%
)<>>>>>>^^**=**++~::-.    {#){%%%%%%%*             ~+***^^>>><<))(((]]][[[[[}}}{{{{{{####%%%%%%%%%%%
()<)<<<>>^^^^^^*+~  ~- .  #[ <@@@@@%)              =++*^^^>>><<))((]]]][[[[[}}}{{{{{{{{{#%%%%%%%%%%@
(((()<<<>>^*^^^^*++~ -:-::{[ (@@@@@@#       :---~~==++*^^^>>><<))((((]][[[[[}}}{{{{{{{{{#%%%%%%%%%%@
((]))>^>>>^**><^+*+++--=>^%%)]@@@@@@( -    .:-~~===+++**^^>><<<))((]]]][[[[[}}}{{{{{{{{{####%%%%%%%%
](>^><)>++*+*^^^+=+++=~++)@%(<%@@@@@@]+:::----~=++**+**^^>><<<)))((]]]][[[[}}}}{{{{{{{{{####%%%%%%%%
{()^==***-==^~  - :-=**^*}%%(*)}#%@@@@@(-~~~-~===+++*^^^>><<)))))((]]][[[[}}}}{{{{{{{{{{####%%%%%%%%
([[(][)^+-:   ::~.:=^>>*=[%%(++*)}{{#%%@#[+=++++++**^>>>><<<)))((((]]][[[[}}}}{{{{{{{{###%%%%%%%%%@@
<][}[[]((^ -.=++~+*^>><><{@%[^*+>[##%%@@@#(*++****^^>><<<<)))))((((]]][[[}}}}}}{{{{{{{###%%%%%%%%%@@
(]{}][})<>=-^)^>)<<<*^<)({@%[^**>[##%%%#}])>***^^^>>><<<)))))((((]]]]][[}}}{{{{{{{{{{{###%%%%%%%%@@@
[-}{{}}]*=>)>++]]())<<^)]#@%[+>}{%%#[<<.(())<^*^>>><<<<<)))((((]][[[[}}}}}{{{{{{{##{{{#%%%%%%%%%%%%%
<+(^[{[}[>^<^([])(]]]((][#%#()}%##%%{))>(]]((<>*><<<<<<)))))(((]][[[[[[[[}}}}}}}}}}[(]][}}}}}}}}{{{{
)*){])}[](+^^]]]>]}[[}]}[#%{)([]]{%%<=><>*+=~.  ----~==++++***^>><<<))((((]]]][[[}}]**^><<<))(((]]][
+~](})>[[(~*(>)())[[}}[[[#%}<^+~.^#%(          >+++++**^^^^***^^^>>^^^>>>>>>>>^^^^+*= -~+*******^>>>
+[~<]}]<(]*^*^>>>*<>**+*=]{[>.    ]%^                                           .:---=   ....::-:-~~
(^*=+==**+:- ~:          =}(+     *%>        *]]]])<<<<<<<)((((((]]]]](][[][[}[]][}}]]              
===~-        .            [(~     (%%                                                               
=::.                      [):       >}                .-~=+*><)((]}}}[}}}}{{{{{{##{{#{#%>           
          .               ])=        }^    ))[#{#{{{}}}}[[[[]((<<<<<>^^>>><<))<))<<>^^*~:           
                         <[]       [{(                                                              
                        =[]=       ]{}                                                              
                      ^###[       +{{{]                     .-=*^<<)))(][}}}{%#%%%%%@%%%%%%%@%)     
                      [{{}~       <#%%#   %%%@@@@@@@@@@@%%%%%%##%%%%%%%%%%%#@%@%%%%%%%%%%%%%#{(     
                     ~++*+  +     -^^*^*-   =^^^^^^^^^^*===~~~~~--. :-:::--~:..                     
                                                                                                    
                                                                                                    
                                                                                                    
                                                                                                    