@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#:                                      -@#         %@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-.                                      =@@*         %@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@-          :                         +@@@=         =@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:*.        .==:.                    :#@@@:         :@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+          .----:.                :=#@@           %@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*. .                            +@%%@#           *@@@@@@@@@@@@
+#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+*.:.                       *-=@@@@#           -@@@@@@@@@#=:
   :+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*%-.-:        =.. := :  *#@@#@@@@%           -@@@@@%+:    
 =-.  .=#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##:         :+::@%.-=%@@@@@@@@@@-         -@@@#=.  .=**-
 :%@%+.  .:=*%%@@@@@@@@%%#**@@@@@@@@@@@@%#.          **@@@%+%@@@@@@*=+**+         :-.    =%@@@: 
  .%@@@%.                   .%@@@@@#+-:                 .-*%@@@@@@=                     %@@@@:  
   -@@%=   .+********-   :    #@#-.                         :+@@@-   :-         .%@#:   .+@@#   
   +@@.     :@@@@@@%-.  .%%:   .                              .+:  .+@+       : *@%.      *@@:  
  .@@-       -@@@@@.     .@@=                                     .#@#        +#@@:       .@@+  
  =@@:        %@@@:       :=.                                       :.       .@@@@:       :@@%. 
  %@@#       =@@@@.                                                          -@@@@+       #@@@= 
 :@@@@-      #@@@@*                                                          #@@@@@.     -@@@@# 
 *@@@@#     :@@@@@@.                                                        :@@@@@@=     %@@@@@-
:@@@@@@=....#@@@@@@*----======+++++++**********#############################%@@@@@@@#####@@@@@@%
%@@@@@@@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%###%%%####@%#%@@@@@@@@@@%%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@+----:::::::::....................         ...  . =# -@@@@@@@@@@%%@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@#                                                  **%@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@.                                                 .@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@-                                                   =@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@#         .:                                          %@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@-         #.                                          =@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@%         =@.                                :.        .@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@=        :@@:                                +#         #@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@%+-.         %@@-                                *@+         .-*%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@#=.            #@@@-                                *@@-            .=#@@@@@@@@@@@@@
@@@@@@@@%*-               *@@@@:                                =@@@-               -+%@@@@@@@@@
@@@@@%+:                :#@@@@@.                                -@@@@+                 .=#@@@@@@
@@#=:                 -*@@@@@@%                                  @@@@@%=.                  :+#@@
-.                 :+%@@@@@@@@%                                 :@@@@@@@@*-.                  .-
