                                  ***********.
                              **********************
                                      *******./@@@&(@@@@@@((((@/ (
                                          ** @@#&@%@@@@/@@@#@@@*@@@       __________________________
                         *****,             @@@@@,   % @@@@&@,,*@@@.     /                           \\
                     *******************  #@ /. @@@ @@&&@@@ @@@@@@@*(   |   Gotta go insanely fast !  |
                     *,  ,************** @@/@ , @@@@@&  @@@@ @@@@ @@@   | ____________________________/
                         ,,****,      .** ,&@# &@/%  &/@@@.(*@@@..*@ @  |/
                 ,*****************         @@@ @   . @@@.@&&@(&   @,
                            ,************   .@@@@ @@%@@,         ./@
                 ,                   .*******  @@%@@. #@ @@ @ &  %@@
                      *********,          .****   #@*@@&&&&&@@*@@@
                             ,******,           * *** #@@@@@@@@@@@@@
                                     .*,          * ******
                         ,***************,   ,****************               *********,
                     ********************* *************************,     **       *****
                  *************     ********************************** *             ****
                ********,,************ ***********&&&&&&&&&(***********                **,
               ****** *******    ***************,&&&&&&&&&&&&&&%*******              ,@@@@@@
         %@@,,@#.*************,******.**********&&&&&&&&&&&&&&&&*******            @@@@@@#
         @@@@@@@@@@@@@*************************,&&&&&&&&&&&&&&&*******
        @@@@@@@@@@@@@@   **, ,*****************#&&&&&&&&&&&&&&********
         @@@@@@@@@@@@%      *******,***********#&&&&&&&&&&&&&,********
          @@@@@@@@@@@            ****,********* &&&&&&&&&&&&,*******,
             &@@@@@                   **********&&&&&&&&&&*********
                                     * ***************************
                                        ************************
                                   *****,*,***************,**
                                *******,   ***************, ***
                             *******         ***********,   ***
                          *****                              ***
                        ****,                                 **,
                      ****,                                   ***
                    ,****                                      ***
                    *****                                       *****
                    **                                            ********    ******
         ****************,                                          ,**************
         ,***************
              ,******
