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