###########++#########++##++#######+######-+-++###+++-#+-++-                                                                                                                                                                                                                                    
#############+##+###+#####+-####+#-###-#######+###.######+##-                                                                                                                                                                                                                                   
#########+#######+####+########+##-#+#+#++++.+###--##+#-    .-                                                                                                                                                                                                                                  
#######+####+##+#+##########+###+###+####--###+########.----+ #.                                                                                                                                                                                                                                
####################-######+#####+##+###+############- - .    -     -                                                                                                                                                                                                                           
###+##+++######+###+-#######+########+#######+####-##  ..-.  .-. --  -+-                                                     -  -+ -                                                                                                                                                            
#+##+#####-#+#####################+##+++######+####-  .- .     .-- .      +.                                            ..+.---- .--+..                                                                                                                                                         
+##+#-########+###-###+#+###############+########+#----+   .  + -. . .-. ..-  -                                       -. .-- . -  + -    .                                                                                                                                                      
#+###+##+############+####+##+#########+#-###+#+#+-.  .-  .. - ... . ..  -    -. -                              +-    -      - .--  -.  .  . -                                                                                                                                                  
++#########+##+##################################.  .  - ++ . +--    .  .  +.   -- --                      - + .+ .. ---.-.    -+ - - -.--.   .-. .                                                                                                                                             
#######-###########--#+###########+########++##++-.--+.  #- ..+  .- . . . -..  - .   +-.+             .. + .-- .--  +-      +.#-.-#- + .      ..   .-.                                                                                                                                          
+##############+##+####+-#+####+################+---.#.. ... +- .  .--...#. +  -..-- .  #-.-  +- .#. .-. - .+  - .    - .-.- .-+ -.. .  -.-.  -  -.-- - -                                                                                                                                       
####+#####+#####################+##########+####+.+#.-+++ ..#. ----. .  -   +-. .-..-  . -.   .-- .- .  -.-. --.- --  -. ..+ ---+--. ..-+--. - ..- ..  .-- .-                                                                                                                                   
#-##++++######+#+#####+###########-+###++#############+#+#-.#- ----   + +-. -  -+  ... .# ... -+ ++-.. +- -  . ..-.  .   -+#. -+.+.--#++.-# + +#+-+   -.     -                                                  -    .#--++ --.# .                                                              
############++######+####+#####+##+################+.##++####+#+++#+---.+ -+.##-.. .-.-+  ...-. .+ - - .+-  . ..- .-  . --. . .###+--+++####++ - --+-+  .-. .. .-- .                                  ..#      -  .++  -..-++-++ +                                                              
#+#####+###+###############+####-##++##+##+###+###++#+#---#+#####+#.--#-- .- -+- .-. .+..  .+  --.++-. ++.  . .+..  . --.....+--##+#+# #.###+##+-#++#-++#---   -. .  ..-                    --. .-+-  +--. -..+-..  .--++..- - . -                                                              
  +++#+##-########+######+#######++###############+##+###+##++##+++###-##---+ -.- - . .+    - -.-. -+ -  -.  - +#-   .        .-+#########+#++#--+#-#.+-  . . .+- -+-   -.-          +-##+#+  -  . -       -.   .. -...  -+. #.#+                                                               
        #####+###########-#####+####+#+###-##++###+##+###+#++#####+-+###+-+--++. .  +.---.  --  #-.- -..      .+-- .-  --.  - -  . +.  -.   .-##--.-+#+#-. .+.+ +- --..- .+-#--.-#-+ # ++#++#-+ .  .    .- -. -...  -  -. ++--..-#.                                                             
             ++#+###+######+#++###+#+##++#######  +#.-##+#-##+#-###-#+#####-+-#-#+++-  .+#-+--- .  -    + ------ . + -. ..-   - -+-  . -.-.-  .-. -.-+#-+-+#-##.    .- -  +##-.-##..- .#+-.##-#  ..   --..   - .-- -.--.- ..-+-#-+#                                                             
                  - #+#####++##-#++++##########            +##.#.-######-##+###+##++.-#.-#.   . --+ ...+. --..+    +-- -      .--..#.-     -.   + --. ..-  -  . -  + -  +.- +-#-.-+++-. . -#.--###+ +.-+# #-   .-   .  - - .... ---                                                             
                         #+###########+####+##                       .+.+###+#+#+#+#+-+--.- -- --.+-.. #-.  ..#.- -.- .+.. .. - -   -. ----  . .-- -.--.       - + + -. . +-+#+#+-#-#.#.---+++-++-# --   .    .   ... .     --. . #                                                             
                             -####+#+##+###++                                   -###++#++#++ -+-## ---.++-...#+-+-..#.  .-#+--#-#.-  -    + .# -..#..--.+. .- . . -.  ..- .-.+.#-++.-.##.+ ..#+#.- -.##-  .. ---  -     .   . .  ...                                                            
                                  ###+#+##+                                           -####-+#-+#.--+++##+-#-###.-+#-+++++#+-+-+++#+-#- -.-+#-..-..... . +.  - -.-    .--  +   #-.+++-#+-..##.-# -#-#+-##.-.. --+---  -   +.                                                                    
                                     -####                                                 .+###++####+++####-##++.+##++-#+##+####+##+##+.-#+#-# +-.##- ..  -     .     -+..- --  + #+-+- --#-+.- -+#.- +  . .##-.-                                                                             
                                                                                                +##--.+-#+++#+#----+++-+--#-+-#+###############-####+-#++.   -    . +  . .-.    -   -##-+--   -..+###+###.                                                                                      
                                                                                                    ########-###--##.#--+#-.#######################+-+-#+#.- -. - -  -+.. - -  --  -.+###+#+##-                                                                                                 
                                                                                                    -##########-+++#++++--+#+-+#+.##############+#++++#####..-..- .-   --.  -##--...                                                                                                            
                                                                                                    -++#####-++-.+##.-+---#++-#.+-.# ####+##-##+#++###+#.--#+.# --.+..-                                                                                                                         
                                                                                                    -###+##+###.##-#--#-+   .-.-.+.-  -#-+######+#######+-#####+.                                                                                                                               
                                                                                                    -#+#+#######+ +-  -      .- -+ -.   +.#####.                                                                                                                                                
                                                                                                    .##+##+######+# .   ..   .+---+                                                                                                                                                             
                                                                                                    +#+#######+##+#+##+- -                                                                                                                                                                      
                                                                                                    ########+####--++    .-+-. +..-..                                                                                                                                                           
                                                                                                    -##########+##+  - +.     . .-. .  -.-##++##+#+#+#.###.+.#   .-. -#-. --                                                                                                                    
                                                                                                    #############    -+-  ..  -.   --   ##-+-+--+--#+##+##+#.-- . .-- -+---.+- -  . --+.+#-#.#+#+++-- . .--- .#+-...##- .-..                                                                    
                                                                                                    ########### -.. --   ..  -   --.- +###++##++#-#+#.#+++.  .. . -..-- .   +.+  + --+.- -+#-##+ .#-+###+   . .. --- .  .. .- ....                                                              
                                                                                                   .####.###-#.-.+ ---.+-  .- .+ .- ####++#########-+#+##.--.   . ..  . -.       -.-#-+---.##----.-+-+#- -       .+..-. -       -+                                                              
                                                                                                   .###-####-.-.     -  .+.    -  .#########+-#++##-###..-   --- +. +-+   - . .####+++#-#+-#--#-##+###   .  . .. -     - ..  .++.-                                                              
                                                                                                   +#+####  - -...--.   ... -.- --+#-########-#++#+++# -.   -#. .  + . . - -.#-+++++-###+#+#---##+##--. ..+--..- +   . .  . .----.                                                              
                                                                                                   +###--. .-  .. -..  ..- -.  +##+###++++########+#.-   . +-   .-..-.++++ .++ +#####+#++-###+-.#+..++ . .  - ..-  .+.  .. -+#+++                                                               
                                                                                                   -##-# - .  -.--... ... ...##++#+#########+###--.-.. --  .. -- . --   . #-#-#-###--++##-##++++   --. . . -...  --.   . .++ .-+.                                                               
                                                                                                   #+##++########+#+###-.+ #+-###+#######+++-###...  .  .-+--   .+. -  .#+##-###-#-#-###-###----..     -  +  .-.- +.  -#+#-###+--                                                               
                                                                                                   +###      ++#+#####++#####+#+##+-+###+#+##+#-#+##+-     . --  ..+.--.-#+++---+#-++#######.-- ..    - .-..-.+-.  -.-+...+ +#+#+                                                               
                                                                                                   --##                                              .. -#-+-+.++-----####++#####-+.####+++-  .- -   . + .. -+-++  .##-+#+#+#+-+#                                                               
                                                                                                   ####                                                                                         -+#+###++##++#-.++.-##+##.+-#+#                                                                 
                                                                                                   +###                                                                                                                       -.+                                                               
                                                                                                   ###-                                                                                                                       ---                                                               
                                                                                                   ###-                                                                                                                       ##+                                                               
                                                                                                   #-#                                                                                                                        +-                                                                
                                                                                                  .                                                                                                                           ##-                                                               
                                                                                                   #+# +.+#+#  +#                                                                                                             ##                                                                
                                                                                                  .###  +       #    #                                                                                                        ##                                                                
                                                                                                  -+##  #  #    #    #          .#                       +                                                                                                                                      
                                                                                                  ##++ +#  #    ###. #  +                                #                                                                    ##                                                                
                                                                                                  #### -#  #   -# # -# +# #     ## #-##     ## # --##.  ##   #                              #                  ##            +##                                                                
                                                                                                  +###  # +    ## # ## ####     #+ # ##     +- # ## # #  # # # #+##      +## ###.#+##  ##+ ##-  .            #               -##                                                                
                                                                                                  ##++   #    -+# +#+#  - #     ##    -     #  # #  + #  # #   #.       +   #  # # ## #-    # +.#+ + ## +##  # #+  -#+# ###  ++-                                                                
                                                                                                  +###                  --      -#####      ## #.## # #- # #   #.       #   # -#+# #+ + -#  # +    # +##+    # # #- # #  #   ###                                                                
                                                                                                  ####                                              .  + -  -  +        -#. ### .# ##--+##  # #    # ++##    # + #. # # .#   +--                                                                
                                                                                                  ###.                                                                                      - +    # .+ ##   #-## # . #  +   +-#                                                                
                                                                                                  ###.                                 ##+ #                                                                                 ##-                                                                
                                                                                                 .-##                               .   +  +         +-     #       ####     ##    #                                         ##                                                                 
                                                                                                 +###                               #   # -#     .#  #.    #+           + -  -+  .# # # ###                                 .##                                                                 
                                                                                                 -###                               #   + +#     +#  #   - #.          -# #  ##     # #                                     #+#                                                                 
                                                                                                 ####                               +  .- #+  +  ##  #  -  #    +     .#  #  +-    #+ # ###                                 ++#                                                                 
                                                                                                 +##+                               #  +# #.     #.  # ###+#.#       -+  .#  #.   #.  #  #-                                 ###                                                                 
                                                                                                 #+#.                               ##    #      ##  +     #        #    +#  #   -   .#  +.                                 -##                                                                 
                                                                                                 ##+#                                    +..      #.       #       ####.. #     -#   .#  #                                  +##                                                                 
                                                                                                 ####                                                                            .##  ##                                    -#-                                                                 
                                                                                                 .+ +                                                                                                                       ##-                                                                 
                                                                                                 ++-#                                                                                                                       ##.                                                                 
                                                                                                +####                                                                                                                      -##                                                                  
                                                                                                -###.                                                                                                                      ###                                                                  
                                                                                               -+###                                                                                                                        -                                                                   
                                                                                               -.##-                                                                                                                       +##                                                                  
                                                                                            --.  ###+###+#####                                                                                                             ###                                                                  
                                                                                            -.-.+##############++-###################+######---                                                                            ##-                                                                  
                                                                                           ..-..#####++++# .        - .####+#+####-+##-#-+-##########+#####++ .#######+#####                                               ###                                                                  
                                                                                      -.-   -.  ..+### -.    .---. ..  ..#####--###################+#########.-###+####+###############+##+#+########-###+---              #+#                                                                  
                                                                          .+.##-  ..+. .#+- .-- ..-.- ...-..... .  .-.  +###+####+#- --. .+... .- -#+  +###+#  #+#######################+####+###++##############+-#+#######+.                                                                  
                                                                     -  -+ ..+.- .-- -  .  #- -.   .. .-.+ --+.+-.- # .+---++## . ...  ..-   -   ---                            --##-#####+#+##+#####+##+#################+##                                                                   
                                                                 #.+ ..  + ....+ ...  ..- . ++  . . --. +- -++# # +-+##--+-#   -.. --    +.+--.-+                                                        #.###########+#+####                                                                   
--.-#-++                                                     +.- .-.+. .-..  ...--+-...  .-   .-. . ---.-   -----#-##+--. .--   . -++-+--+.                                                                                                                                                     
#+-++#####-#++.                                           --   -. ---.-- .-+     . - -++    #-. . .#..-+-.+#--+##+.# .#- -.-+-  -.--.-#                                                                                                                                                         
##-++####+#++#+##-                                     ..+..-..-. +   +.-.+# --.--. . -     . .+++.-+. - +## - .-+ -  . --.-.-..-.-                                                                                                                                                             
+##+#+###+##-#####+#+--+   --#+- -+                 . .-.. + .  . . -.. -+  .+-.  ... ..  +- .+#-.+  - #---##.  - -- . ---..  -+--                                                                                                                                                              
-++###+#.##+#######+--..++ -  +-+ .++-  +-#+ . -+  .-+.--  . .#.-  -- -..+.+- -. .--.  --  + -..+#-#+ +  .- .  --  # -.    .. -                                                                                                                                                                 
#######--###+#+######. -+-+-+.   . + -.- -...-..-     -     +..+.  ++ ..+ ++.- . + -  ...-. .  # -+. .-.#-.- -..-.+ . . .-##-                                                                                                                                                                   
+##########--#########.  - -+   ... ---+- .--.+-.  +. -..-.-..-+.+  .-   .-- +.. ++ .-  - .   -+ .- -.    - + -    - +--#.                                                                                                                                                                      
######################-..- -.-.- +- . .   -.+ +.----+  -...-  . +- . - .# -+- +  . #.# + +--. -+ .+.   +---  + - .++++                                                                                                                                                                          
########+#+-########-### ...-.- . .      .+   .-+... .---  +..    ...-..- - -+.+.-. .. ++ + -.-++. .. .. -.+. - -+                                                                                                                                                                              
##+#-#+################-. ..-    #-  .  + +  ... .     +.+.   .-  -...  ++-- --- +  . .#--    .--.-.-#+  .-+--#                                                                                                                                                                                 
####+###-#############+#+ -   .. .. #---.. .  + -+--+- .-    .+-..+ --#.-. .-.# +#----++ +-  --.##-.- ----+#+                                                                                                                                                                                   
#####+##+#######+###+###+---  - . . - - +#   . ++-.-    + + --.#+ --# .--. +... .--.+.+-+#.#-##--#-+##+-#-#                                                                                                                                                                                     
##+##########+#####+++###-  + -- +-+-+---.  -. ++- -.    -+ + .  .-.+++++#+.---#+#-####+#####-                                                                                                                                                                                                  
#++###+#################+.-   .. ..#+...-+..++ -. . +-  . --.-- - #+--.##.##-###+##                                                                                                                                                                                                             
############++########### -.. +.+.  -.-+#.+..+.+-+- + -++ -+#+. -+-#.#-###                                                                                                                                                                                                                      
###########+########-####- #-  +--.-.-  - --+ +##-  ++. ####.+#+##                                                                                                                                                                                                                              
#+###+##+###########+-###--#   +--+-# .-- .#+--#-#+-+-##+##                                                                                                                                                                                                                                     
#+#####+##+##+#####+##+#-.-+ -.-#---#+-+.+.-#.-#-+--+#.                                                                                                                                                                                                                                         
+#####+##+#####+###+####+. .--++-#-+.##+##+#-.#+                                                                                                                                                                                                                                                
++###########+###########+.+#--++#++####                                                                                                                                                                                                                                                        
########+############+##-#+-+###