...##########%.#,.
                                   ,..#######################%,,,
                               . #################################%,,
                            .#########################################%,
                         .*#######@@@@@@##%##%%%#####################==#=*,
                         ==######@@@@@@@@%%%#%:##%###:########@#@#@##======#,
                      .==########@ @@@@.:;*,:.;@,%%%##;;,*..####@@@@@==#====%
                     =##=########@####...;:;%.!%,%%%%####,,,.:;###@@@+%#=====@%
                    @@##=##### ####...+...+;!!%%,%%%%####++++.,.@#@%%%%@+@=^%@@/
                  =======#=@@#@###.,.:=..==,,.!%%%%%@@@@@##===,,,,##@%@@%=#=  ===@
                 ====  ==##@@######,..==:==#@@@@@@@@@@@@@@@##=,,,=+=#%@@ #%===%#==@
                ==== =====#@@ @#:.::====###@@@@@@@@@@@@@@@@@@#])=;,;=%%@%+%==== =%@@@
      /  //    =@=@ =====##@ ##.:::========#@@@@@@@@@@##++=====++=,;;=@@%###=##=% ^@%
     %%@%%%%|/ ==  =====###@@@#=:.(:=::::;=+#@@@@@@@@###+++++++===;%==%@ % #@=@==  (@ \((@@@@@@
   @)#   %%%%%@/  ====#@#@#@====)::#..,..,.#@@@@@@@@@@@####+=#+,,=;,+#===% ##@==@@\ \[@@@@@@   (@
  @]      @%%@%@ (@@@@#@@@@=//...@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#,,\\,+# ##@#%@@\\@@@@@@      (@
  ]         @%@@   @@!@@@#((/ @@@@@@@@@@@@@@@@@@@@#@@@@@@@@@##@@#@@@@#,\\*#@##@)(,( @@@@         (
  ]      @  #@#]@#@@@@@@@(((@@@@@########@@#@@@@@@|##@@@@#@#############\\/((\%@|@(  @%@         [
 #      @[*  |@##@ (@@@%@(@@@@@@@@@#@@@#@@@#@@##)|]##@@#@@#@@@@@#*#(@(*### @@#(([ (\  %  %@      %%
 #    @%*(   |(## @(@#   @@@@@@@@@#,        |.|(#[#%@@)))       -#@*#(*##*#\  (%@+\?? +   %[@    %%
  @=  #@@     ## ++ +   +++@@#@@@              #@(#~#             *##**#%*++@  + ?+         @ @%@[
  @%%>(%%       @+ ++   ++#+ :%   #    ?#-     =#^@##=    -#    @#   % ;*%%@   |+ ++<       + @++[
   @% @%%      @@ @@   +@## #   -  @#@@   #   - @+^#  -  -  +@@+   -   @ %@@@    \@ ?       @@%+%
    @@< #@    ##@.      @]#     -% ^   ^   @-[?- #%-~ #-#   #(,,@        @@@    + )      -/#   #
    @ < @@@   @@ % (    [?##- ++ @+.   %@%*-#@=+=#%)-###-*%%  ? .+=?~~ ~#@+#      #@@%   [@   @^
     ]@@@ =*<<<*  (*   ! @@(((@#@+        % @@@**#%***@? @        >@@@>+@+@##   * )=(>>>    >@#
     @@  ~ @@*<~  *      ##@+(@@@@***## @  <%%**@%*%***%>  >**#*# #@# >* ##?        >+ @%    #%
         *     ** *         @*+ @*    # # %  @@@ ^* @@%  #   #%   ** '*#            *    %   %
           *     *~           *#      #  * <%%%%*>**%%@%@   *#     ***  *
              #          (   *# ::+(   # !%%%%@%%|:%%%@%@@; #  ~#*#^*   * =       %?  =
            *                    %% ,(  :%%  %%%@@(%@@@ ***#, / ********  *         '
                 ^       ,     %   (%@: %%%   %%%@%%%%*   %*#!?%)  **** *?.    @   ?' '
                   ,      %    * (%   %%%%%.    @%%@    .    %%  %:'   *        .  *
               ,  ,  ^^  ^    ?*   ( %   %%%..        , %%%   ? ;  [/     ,       ?
                      ^         %''  #!%%%%%%%%(    !%% @#@@%% @ /  /    @   //    ?
                                 '%    %%%%%%%%%%%%%%%%%@@%%%    %/
                     \          '% %%#'*%%%%%%%%%%%%%%%%%%%%@@@@%%[/   ]
                  . # #     `   %  % @@%**%%%%%%%%%%%%%%%%%%% @%%%%%         ,    . /
                     . .       #   %%@@ @@%%%%%%%%%%%%%%%%%@@@|%%%%%[/          ,
                       ##     `-   @@@@@@#@  %@@%%%%%%%% @@@@*#%%%%%%/     -, %  %
                      - #        @#  @`@@@@@%%%@ %%%@%%%@@@''`   %%%%      ) %
                               #  @   ` @``| @%@%%%%%@% @@` ``  #   %
                      - ##           @@@  ## @@@###%@@%%%#%@@@  @         @  )
                     (- -##   <# % %%==%%@%@%%@@@@@@@@@@@@@@@@@@@ @      %--
                         ##    #= =   #########      # #  #     #% #--   %
                          )#     %  %#%%#%%%%%@@@@@@@%@@@@@@@@@@  @#    %+
                           #+   ##### ## #  #@@@@@@@@@%@%+@  @@%%%%#+  ++
                             + @+######@.#...       ..,.,,#@@#%@%%%++ -
                              [ ===@@#@#=.###.^^,,.,*,%#%%[##@@@%%=\ ~
                                 = @@@ (..####### @@##',#%%)@@@@##=@
                                  @##@@@@@(#[(##@#####@]?%%%@@####)
                                   @@@@@@@#[[@@###*##@,%#@##@##@('
                                      @@@@@#@@@@#########@#*##))
                                      (++ '#^+^###|*#### ?|)  )
                                           [[ @*!@[`| `` -`