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