::. ;@`,,:@@@#+@@@@@@@''@@@@@@@@@#@##+@@@@+@@@@@'#`    
                             `. : ,;#@+#'@@@'#@@@@@@#@@@@@@#@@@@@@+@@#@@@@#'@@##@+'`   
                          `,;+,,+.#@##@@@@@@@@#@#@@@@@@@@@##+++;@@@@@@+@@@@@@@@@;'@#.  
                           . .+,#;#,##@@#@@@@@@@@@@@@@#,@@@@@@@#@@@@@@@@@@@@@@@@@;@@'` 
                            . ,+@@' +@#:@@'@@@@@@##@@@#;#@@@@@@@@@#@@@@@@@@@@@@@@@'.@+`
                            :+:.'@@:+@@##+#@@@@#@+@@@@#@+@@@@@@@@@+#@+@@@@@@@@@@@@@#+#'
                         `'#'@,.@;+'@@@@#@@@@@@@@'@@@@@@@@++@@@#+@@@@@@@@@@@@@@@@@@@@'@
                        `:'+#@+.@:#;@@@@@@@@@@@@@@@@@+#@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@#@
                        ;:``'@@@@@#@@@@@@@++@+@#@'@+;@@@#@@@@@@+@@@@@#@@@@@@@@@@@@@@@@,
                       :; `+@@##@@@@@#@@@@;@@':#:`#:##@##@@@@'+@@@@@@#@@@@@@@@@@@@#@@@:
                      ;:'@@@@@+:+'#@@@@@#@+:  .#:.#'+@@@@@+@#@#@@#@@@@@@@@@@@@@@@@#@@@@
                      : ;@@#+'@@@'@@@@@##',   ::;:'++@+@@@@@#@'+#@@@@@@@@@@@@@@@@@@@@@@
                      '+@;+;###@+@@@@@',,.':,`.;+;#;:@@'@@@#':`@#@@@@@@@@@@@@@@@@@@@@@@
                     ,.#;:#'#'''++@@@:+;,.:   .:++#+,##@@#'`:`'@##@@@@@@@@@@@@@@@@@@@@@
                    . ;#;+'+.'`+@;@,, ,   ,   ; ,@:::.+,#+: ' ,@@+@@@@@@@@@@@@##@@@@@@@
                    ` '++#@@##@'++,:``:   ,` `,  '. '`;:++',.;+@+@@@@@@@@@@@@@@@@@@@@@@
                   ` .#:+@,,',@@':,. .:   ,  :    ',;  `,,.,::@@'+@@@@@@@@'@@@@@@@@@@@@
                   ` :@##; .',#:.;:  `:` ..  '    ..,`  `    `@@##@@@@@@@@@@@@@@@@#@@@@
                     ###,.,@':, `;,.  `,;`  `'           `.,'+@@@@@@@@@@@@@@@@#@@@@@@@@
                    ,++,..';'`.  '`;  .:.   .,          ...``'@#@@@@@@@@+@@@@@@@@#@@@@@
                    :.' `@`,.,`  ; :.,` `   ,          `    ;@@@@@@@@@@@;#@@@@@@@@@@@@@
                   ,:.: :'`+ ,. `. .:,  `    .         ,,`  ;+@@@@@@@@@@+#@@@@@@@@@@@@@
                 ,;. `.`#+'`  . ,      ``               `.:;,;@@@@@@@@@@@@@#@@@@@@@@@@@
                     `.#+;.    ..     `.                   `+'@@@@@@@@@@@@@@@@@@@@@@@@@
                      ';`,    .                           ,'#@@@@@@@@@@@@@@@@@@#@@@@@@@
                     ,' ,     .                           '@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  `;,; .:     `                      `.``'++@@@@@@@@@#@@@@@@@@@@@@@@@@@
                   `,  +`     `                       `,'+@@@@@'@@@@@@@@@@@@@@@@@@@@@@@
                      ,.  `...,                         ,@+#@@#@@@@@@@@@@@@@@#@@@@@@@@@
                     .,    .,.                          ;+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    ,`                                  ,''@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                    .                                   .#;@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                   ;                                     ;'@@@@@@@+@@@@@@@@@@@@@@@@@@@@
                  .`     `,::::::``                      `+@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                ` .    .+@@##@@@#@#:`                    `#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
               `',`    +#++##@@@@@#@#:`                  .#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                #@`    ,#@@@@@''+@+'@@@;                 ,@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
          .;;::`#@:   ,#++@##:```;@@####.                :#@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         `:  `'+#@'  '@::+''#+.   '@,;':#.               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
         ;`   ,@+@' :@:  ;#####', ;@:`.::'               +@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
        `:    ,.@@'`@`    ;.# ,.'#+#,  `,,               :#@@@@@@@@@'@@@@@@@@@@@@@@@@@@
        ,.    ::+#@#'    `;';::` ,#@. `...,.``           `#@@@@@@@@@'+@@#@@@@@@@@@@@@@@
        :    '    .#.    '+;;;:+;,#@.     :'.`,,`         #@@@@@@@@@@@@@+#@@@@##+@@@@@@
        ,   .     .+     `   `,,+'+@'`      .;,.,..``     +@@@@@@@@@@@@@@+@@@@++#@@@@@@
        ;  :      ,.            ,:+@`..         .:, `..`  `+@@@@@@@#@@@@@@@@@@#@#@@@@@@
       `;`.       ,.              #'`             `,.````` ,@@@@@@@@@@@@@@@@@@@@@@@@@#@
       ,,,        ,`              #..`                 ..  ;@@@#@@@@@@@@#@@@@@@@@@@@@,@
       ..         ,`              #  `                  `.`+@@@'@@@@@@@@#@@@@@@@@@@@@;@
      ``          ,              `;                       `+@+#@@@@@@@@@@@@@@@##@@@#@@#
     ``           .`             ,'                     `,++##:#@@@'@@@+#@@@@@@@@@@@@@@
    ``            ``            `@'                    ,@@#@@@#;@@@@:@#@;@@@@@@@@@@@@@@
   `.             `,            ;@,                   ;@':#@@@@+@@#@'''@@@;#@@@@@@@@@@@
  `                ,,          .@'                   `@;+@@@@@+@@..#'#`.@@@@@@@@@@@@@@@
  .                `:..       ,#'                    ;;,#@@@+++';: ` .` .+@@@@#@@@@@@@@
 :                    `:';,,:':`                    `#:@@@#@; ;:;,     `. :@@@@@:@@@@@@
 ,                       `..`                       ,#'@+++#`  . .    :##+``##+@#@@@@@@
 .                                                  ,###;#+;          +@#@+:  `#@@@@@@@
 ,    `,:::.                                        :##@;'##      :   ;#,##@  ,@@@@@@@@
 :` `'##@@@@#,`  ,`                                  +###'+'      +`  :,  +#  :@@;@@@@@
 `: .#@@@@@@@@'` `.                                 `;##@;+       ;:  #:  `'` +@+'@@@@@
   , .'+;,,:'#', '. `                                 '#'`,       ,+  .,   ,  @@'@@@@@@
    ```.`     `,:,` `                                .:';,`       ,+  .,   ,  @@@@@@@@@
         .   .`.`    ,                                .::,        .+ .'```,'  @@@@@@@@@
         ,           ;                                  `,        `' '+;...  ,#@@@@@@@@
        `;            `                                  `         : +'       ;#@@@@@@@
         :      `     `                                             ;#:     .+'@@@@@@@@
        `,       ;     `                                            ##      #'@@@@@@@@@
        `.       ..     `                                          `'.     `'@@@@@@@@@+
        `         .     `                                         ,,      ;;@@@@@@@@@@ 
        `.`       `     `                                         #`     `.;@@@@@@@@@; 
         ``   `.        `                                        `,.    ..`,@@@@@@@@:  
         ,.    `.`.:                                             ` :   `. `+@@@@#@@#   
         .       `..`                                               ``;`  .#@@@#@#,`   
         `      ``  `                                      `        ``    `@@@@##`     
          ,        `                                       :              .+@@#@       
          ,`       `                                      ,`              .;@@#'       
          ``                                              ,               ::@@:        
          `,                                             ,`              ```@@`        
           ,                                            ,.                 `@@         
           .                                           .`                  .@@         
           .                                          :,                    @;         
          `.                                        `..                    .'          
          .                                        .:`                     ,;          
          .                                     `,:,                       `;,    .,,:`
          .                                   `;.`                         ,.+.:#+@###.
          `                                `:::`                            `'#@++@@@#`
          `                              .;;`                                :@@';@@+:,
          `                           .;:,`                                  `####+@'#'
          .                         :+,                                       +###+@@@@
          `,,                   `.,:`                                         ;'+#@@@@@
            .;,    ``    `,                                                   ,:;@@@@@@
                ```       `..                                                 .'#@@#@@@
                             :.                                                @@@@@@@@
                              `,.`                                            :@@@@@@@@
                                 ;                                            +@@@@@@@@
                                 `:                                          `@@@@@@@@@
                                  .;                                        .'@@@@@@#@+
                                   ``                                       +;@@@@@@+@@
                                    :.                                     .;@@@@@@@@@@
                                   .;+,                                   `+#@@@@@@@@@+
                                  ,+'#+,                                  #@@@@@@@@@@@.
                                  #@#@#+                                 .@@@@@@@@@@@##
                                 :@@@#@@:                               `'@@@@@@@@@@@#@
                                .@@@@@@@@'                              '+@@@#@@#@@@@@@
                                #@@@@@@@@@:                            `+@@@@@@@@@@@@@:
                               ;@@@@@@@@@@+;                          ,,@@@@@@@@@@@@@+ 
                              '@@@@@@@@@@@#'                          ;+@@@#@@@@@@@@'` 
                              .;#@@@@@@@@@#;                        `:+@@@@@@@@@@@@@`  
                               `+@@@@@@@@@+'                        ::@@@@@@@@@@@@#,   
                              ``;@@@@@@@@@+'                        :#@@@@@@@@@@#+,    
                             `   ,@@@@@@@@@'                       `+#@@@@@+@@@@:,     
                            `     '@@##@@@@+                      `;+@@@@@#@@@@#`      
                            `      '@@@@@##+                     `;####@@@@@@+;.       
                           `        +@@@@@#+                    `:##@@#@##@@'`#`