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