Разработчик - Красиков А.И.

Студент группы 4143

                                                                                                                                                                                       ..........................................................
                                                                                                                                                               ..................................................................................
                                                                                                                                                        ................................................................................................
                                                                                                                                                  ............................................................................................................
                                                                                                                                          ..............................................................................-.-.--.-......................................
                                                                                                                                     ..............................................................-.---------------+-+--+-+-+++--------...................................
                                                                                                                                ....................................................-.----------+-+-+++++++++++++++++++++++++++++++++++-------..................................
                                                                                                                            ................................................--------------+++++++++++++++++++++++++*+++++++++++++++++++++++-+--------...............................
                                                                                                                       ..................................................-----+-+-+++++++++++++++*+*++++++++++++******++++++++++++++++--------------------.-.............................
                                                                                                                   ..............................................-.--------+++++++++++++++++++*+*+*****+++++++++****+*++++++++++-+------------------------------.............................
                                                                                                                .............................................------------+++++++++++++++++++++++**+****++++++++++++++++++++++++-+-------------------------.---.----.............................
                                                                                                            .............................................----++++++++++++++++*+++++++++++++++++++++++++++++++------++++++++-+-+-+-+----------------------------.-.-.-...............................
                                                                                                         ..............................................----++++++++++++++*+**+*+++++++++++++-+----+++++++-+---------+++-+-+---+-+-++++++-++++++++++-+-------------.-....................................
                                                                                                      ..............................................---++++++*++++++++++++*+***+++++-+-++++------------------+----------+-++++++++++++++++++++++++++++-------------..-....................................
                                                                                                  .................................................--++++***********+*+*+*+******+++-+-+-+-+---------------------------------+-+++++++-+---+-+++++++++++---------...-.-.....-.................................
                                                                                               ..................................................---++**********************%*%***+++++++++++++-----------------------------------------------------------------.-------------------.............................
                                                                                            ...................................................---+++********%*%%*********%%%%%**************++++++++++++-------------------.-.-------------------------------------------------------..............................
                                                                                         .....................................................--++*********%**%*%%%%%%%%%****%%%%%*%*****%*%*****++++++++++---------------------------------+-+-+++++++++++++---------------------------...............................
                                                                                      ......................................................---++*****%%*%%%%%*%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%************++++++-+-+-------------------------+-+-++++++++++++++++++-+-----------------------...............................
                                                                                    .......................................................---++****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%**********++++++++-+-----+-++-+----+-----------+-+++++++++++++--------------------------.............................
                                                                                  ........................................................---++***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%**%*%******+++++++-+-+-++-++++++-+-----------++++++++++++++-------------------------...............................
                                                                               .........................................................---++++***%%%%%%%%%%%%%%%%%%%%@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******+++++-------+++++++++----+-++++-++++++++++++++-+----+-------------------...............................
                                                                            ...........................................................-----+++***%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%***++++++--------++++++++++++-+++++----++++++++++++++--+-------------------.................................
                                                                          ............................................................---+++++***%%%%%%%%%%%%%%%%%%%%@%@%%@%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%@%@%%%%%%%%%*****+++++----------+++++++++++++++++-+-+++++++++++++++++++++------------.-..................................
                                                                        ............................................................--++++++*****%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@%@%%%%%%%%%*******++++++---.-.----++++****++++++----+-++++++++++++-+++++-----------.---..................................
                                                                      .............................................................-++++++******%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@%%%%%%%%%%%%%%%%%%%********++++-------++++*******+++++------++++++++++-+-++++++------------...................................
                                                                    ..............................................................--++********%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%@%@%%%%%%%%%%%%%%%%%%%%%%%****+++++------++++*******+++++----+-++++++++++++++++-+--------------....................................
                                                                  ..............................................................--++++********%%%%%%@%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%@%@%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*%***+++---------+++++++*+++++++++++++++*++++++++++++----------------...................................
                                                                ...............................................................--+++*********%%%%%%@%%%%%***%*%*%%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%***+++----------++++***+*+++++++++++++*+++++++++++++---------------...................................
                                                              ................................................................--+++*****%%*%%%%%%%%%%%********%%%%%%%%%%%%%%%%%%%%*%*%***%*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%****++++------++++++*******++++++++++*++++++++++++++---------------...................................
                                                            ..................................................................--+*+****%%%%%%%%%%%%*************%%%%%%%*************************%*%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%%%%%%%%%%*****++++-++++++*+*+***+*+*+++++++++***++++++++++++---------------....................................
                                                          ...................................................................-+++*****%*%%%%****************************++++++++++++++++++++*+**********%%%%%%%%%%%%%%%%%%%%%%%%%@%%%%%%%%%%%%%%*****+++++++***************++++++++++*+*++++++++++---------------.....................................
                                                        ....................................................................--++++***%*%*%***+++********++*********++++++++-----.........----++++++*+*+******%%%%%%%%%%%%%%%%%%%%%%%@%@%@%@%%%%%%%%%***+++++++*********+*+**+++++++*+*+*++++++++++++--------------......................................
                                                       .....................................................................--+++++*******++++++++*+*++++*********++++++---...            .....--------+++++**********%%%%%%%%%%%%%%%%@%@%%%%%%%%%%%%%***++++++*********+*+*++++++++++++*+++++++++++----------------.....................................
                                                     ......................................................................--++++++******+++-+++++++++++*+*****++++----...                       ........----++++++*************%%%%%%%%%@%@@@%@%%%%%%%%*****++++*********+*+++++++*+*+++++++++++++++-----------------.....................................
                                                   .......................................................................--++*+++*******+++----+++++++++*****+++---..                                    ....-----++++***************%%%%%%@%%%%%%%%%%%%%%***+++++++******+*++++++++++++++++++++++++-+------------------....................................
                                                 .........................................................................--++++++******+++--.----+++++*****++---.                                              ....----+++*************%%%%%%%%%%%%%%%%*%*%***+++++++********++++++++++++++++++++++-+-+------------------.....................................
                                                .........................................................................--+++++++*****+++--...---+++******++-.                                                      ..---++++++*++++**+******%%%%%%%%%**********+++++++*******+++++++++++++++++++++------------------------....................................
                                              ...........................................................................--+++++++*+***+++-.....-++*****+++-..                                                          ...--++++++++++++++++****%%%%%**********+*++++++++*+***++++++++++++++++++++++-----------------------......................................
                                             ............................................................................---+++++++++***+--. ..-++*****++-.                                                                ....----+++++++***+******************++++++++++++++++++++++++++++++++++++++-+----------------------.....................................
                                           ..............................................................................---+++++++*****+-. ..--+***+++--.                                                                      ...---++++***********+++++*+*+*+++++++++++++++++++++++++++++++++++++++------------------------.......................................
                                          ..............................................................................---+-++++++****+--...--++++++-..                                                                           ..---++++********************+++++++++++++-+++++++++++++++*+*+*+++++-------..--------------........................................
                                        ................................................................................---+++++++****+--....--+++--..                                                                                ..--+++********************+++++++++++++-++++++++++++*****+**+++++-------.---------+-----.........................................
                                       .................................................................................---+++++++*++++--...------..                                                                                    ..--++++*+*+*****************+*++++++++++++++++++**+*+*+*+*++++++------.-.-------+++---..........................................
                                      ..................................................................................----++++*++++++---..----...                                                                                      ..---++++++++****************+++++++++++++++++******++++++*+*++++------.-.--------+----..........................................
                                    ....................................................................................--+-++++**+++*+--....-....                                                                                          ...---++++++++*********+*+*+*+*++++++++++*+*********+*++++++++++--------------+++---............................................
                                   .....................................................................................-----++++++++*+-........                                                                                              ...---+++++++++******++++++++++++++++++*********++++++++++++++--------------+-++--.............................................
                                  ......................................................................................-----+++++++++-.......                                                                                                  ..----+++++++++++++*++++++++++++++++++**********+++++++++++++-------------++++---.............................................
                                .........................................................................................-----+++++++-......                                                                                                      ..------+++++++++++++++++++++++++++++***********+++++++++--------------++++++--...............................................
                               ..........................................................................................-----+---+--......                                                                                                         ....------------++++++++++++++++++++***********+++++++++-------------+++++++--...............................................
                              ...........................................................................................------------.....                                                                                                            .......----------+-++++++++++++++++*+*+****+*++++++++++----------+++++++++--................................................
                             ............................................................................................-----------...                                                                                                                   .....------------------+-++++++++++++++++++++++++-+----------++++++++++-.................................................
                            .............................................................................................-------......                                                                                                                      ............-------------++++++++++++++++++++++------------++++++++++--.................................................
                           ..............................................................................................---.-.-.-....                                                                                                                         ..........---------------++++++++++++++++++-------------+++++*++++-...................................................
                          ................................................................................................-.-........                                                                                                                             ...................------+++++++++++++----------------+++++++++--...................................................
                         ..........................................................................................................                                                                                                                                   ..................------+--------------..-----------+++++++-.....................................................
                        ...................................................................................................-.....                                                                                                                                        ............ ....------------------....------------+++++--.....................................................
                       .........................................................................................................                                                                                                                                           ...   .     ......--------------.....-------------+++--.......................................................
                      .........................................................................................................                                                                                                                                                         ............------.......------------++++-........................................................
                     ........................................................................................................                                                                                                                                                               . .  .................----------+++++-.........................................................
                    ..........................................................................................................                                                                                                                                                                      ......... . ..--+++-----+++++-..........................................................
                   ............................................................................................................                                                                                                                                                                        ...........--+++-+---+++++-...........................................................
                  ...........................................................................................................                                                                                                                                                                               .....----+++++++-+++-.............................................................
                 ............................................................................................................ .                                                                                                                                                                            .....--------+++++++--..............................................................
                .............................................................................................................                                                                                                                                                                               ...---------+++++++--...............................................................
               ..............................................................................................................                                                                                                                                                                                ..----------++++++--................................................................
               ............................................................................................................                                                                                                                                                                                  ..----------++++++-.................................................................
              ..............................................................................................................                                                                                                                                                                                  ..----------++++--..................................................................
             .............................................................................................................                                                                                                                                                                                     .------------++--...................................................................
            .............................................................................................................                                                                                                                                                                                      ..-----------++--....................................................................
            ..............................................................................................................                                                                                                                                                                                      ..--.----------.....................................................................
           ...............................................................................................................                                                                                                                                                                                       ......-------.......................................................................
           ...............................................................................................................                                                                                                                                                                                        .....-.-...........................................................................
          ............................................................................................................. ..                                                                                                                                                                                          ....-.............................................................................
         .........................................................................................................      .                                                                                                                                                                                             .................................................................................
        .......................................................................................................         ..                                                                                                                                                                                             .................................................................................
        ......................................................................................................                                                                                                                                                                                                       . . . .............................................................................
        .....................................................................................................                                                                                                                                                                                                     . . . . ..............................................................................
       .....................................................................................................                                                                                                                                                                                                     . .    .................................................................................
       .....................................................................................................   ..                                                      ....................                                                                                                                      ...... .................................................................................
      ......................................................................................................  -++-                                                           ...----++++++++++--.                                                                                                                .........................................................................................
     .........................................................................................................--.                                                                 ..---++++++++++++++--.                                                                                                         ..........................................................................................
     ......................................................................................................  ..                                                                      ...----+++********++.                                                                                                       .........-................................................................................
     .....................................................................................................                                                                                ...---+++++++*++-.                                                                                                     ..........................................................................................
    ......................................................................................................                                                                                    ...--...-+++-..                                                                                                    .......---.................................................................................
    .....................................................................................................                                                                                         ......--...                                                                                                    ..-....---.................................................................................
    ....................................................................................................                                                                                         . . ...                                                                                                         ..-....---.................................................................................
   .....................................................................................................                                                                                          ..                                                     ...--++-----...------...                                ..---.----..................................................................................
  .....................................................................................................                                                                   . ... .                   .                                                   .--++*******+++++++++++-----...                          ..--------...................................................................................
  ....................................................................................................                                                           ........-----+-+----...            .....                                              ...--+++*++++++++-----.-----.......                       .-----+---...................................................................................
  ....................................................................................................            ..---.                                        .....-----+++*****+++++++---..       .......                                            ....-------....                                          ..-------....................................................................................
  ...................................................................................................             ..----                                      .........-------..........--------.... ..........                                              . .                                                ..-------.....................................................................................
 ....................................................................................................           ........                                      ......-.......                 .--++--.......-....                                                                                                ..------.......................................................................................
 ...................................................................................................                  ..                                         ...---.-.---------+++-----....--+++++---.----...                                         .                                                    ..-.-...........................................................................................
 ...................................................................................................                                                               ....--++********%%%%%%%%%%*++++++++++---------..                                 ...... .                                                   ..-----.........................................................................................
 ...................................................................................................                                                                    .--+++++---+*%%@%%%%%%%%*+++++*++++-------..                           ....... . .                                                     ...... .........................................................................................
....................................................................................................                                                                      ...--.. .-+*%%@@%%%%%**+--+++++*+++------.                       .......... .......-.----.-.---....                                   .         ......................................................................................
....................................................................................................                                                                               .-+*%%%%%%%*+-. .--+++++++++----..                  .....-........------------++++++++++---...                                          .....................................................................................
....................................................................................................                                                                                 .-++****+-.     .--+----------..                 ......-------+++++---..        .....-----....                                        .....................................................................................
....................................................................................................                                                                                     ....         .----.........                  ....------++++++++++--..             .......                                         .....................................................................................
....................................................................................................                                                                                                      .                           ....---+++++++**%%%%%%%%***+-.          .... .                                       .....................................................................................
....................................................................................................                                                                                                                                      ..--+++--++*%%@@%%%%%%%%%%*+-..      .                                      ... ......................................................................................
.............................................................................................---+++*+-                                                                                                                                      .--------+**%%@@@%%%%%**+**+++--....                                     .-.........................................................................................
.......................................................................................---++**%%%%%%%+                                                                                                                                             ..--+*%%%%%***+-...-+++++--....                                    .. .......................................................................................
....................................................................................--+**%%%@%@@%%%%%%-                                                                                                                                              ..--++**++-.      .----....                                          ......................................................................................
...............................................................................--++**%%%%@%@%@@@@@@@@%%.                                                                                                                                                    ...                                                          .......................................................................................
...........................................................................--++**%%@@@@@@@@@@@@@@@@@@@%+.                                                                                                                                                                                                                 ......................................................................................
........................................................................--+**%%%@@@@@@@@@@@@@@@@@@@@@@@%*-                                                                                                                                                                                                                ......................................................................................
.....................................................................--+**%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%*.                                                                                                                                                                                                               ......................................................................................
..................................................................--+**%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*.                                                                                                                                                                                                .             ......................................................................................
...............................................................--+**%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+.                                                                                                                                                                                              .---..         ......................................................................................
.............................................................-+**%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                                                                                                                            ..--..          ......................................................................................
..........................................................--+*%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-                                                                                                                                                                                              .  .         ......................................................................................
........................................................--+*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+                                                                                                                                                                                                          ......................................................................................
.......................................................-+*%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                                                                                                                                        ......................................................................................
.....................................................-+*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                                                                                                                                                                       ......................................................................................
...................................................-+*%%%@%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+.                                                                                                                                                                                                    ......................................................................................
..................................................-+*%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                                                                                                                                  ......................................................................................
................................................-+*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+.                                                                                                                                                                                                 .....................................................................................
...............................................-+*%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-                                                                                                                                                                                             .--.....................................................................................
..............................................-+*%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@%*.                                                                                                                                                                                           .-**+-...................................................................................
.............................................-+*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%-                                                                                                                                                                                           -+*%%*+-.................................................................................
............................................-+*%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@%*.                                                                                                                                                                                         -+%%%%%*+-................................................................................
...........................................-+*%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@*-                                                                                                                                                                                        -+%%@%%%%*+-...............................................................................
 .........................................-+*%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%%@%@%@@@@@@@@@@@@@@@@@@@@%-                                                                                                                                                                                       -*%@@@@%%%%*+-.............................................................................
 ........................................-+**%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                                                                                                                                                     .+*%@@@@@@@@%%*+-............................................................................
 ........................................-*%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                                                                                                                   .+%@@@@@@@@@@@%%*+-...........................................................................
 .......................................-+*%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                                                                                                                                                   -*%@@@@@@@@@@@@%%%*+...........................................................................
  .....................................--**%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                                         ......                                                                                                  .+%%@@@@@@@@@@@@@@%%%*-..........................................................................
  .....................................-+*%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%@%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%-                                                                    ..----++***+-.                                                                                              -*%@@@@@@@@@@@@@@@@%%%*+-........................................................................
  .....................................-*%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%@%@%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-                                                                     ..-++****%**-.                                                                                            -*%@@@@@@@@@@@@@@@@@@%%%*+-.......................................................................
  ....................................-+*%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-                                                                        ..---+++++-.                  ......                                                                 -*%@@@@@@@@@@@@@@@@@@%@@%%%+-.......................................................................
   ...................................-+*%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-                                        ...                                   ......... .          .-++++--..                                                            .-+*%@@@@@@@@@@@@@@@@@@@@@%%%%%*+......................................................................
    ..................................-+*%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%@%@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*.                                       ...                                      ......-.---.........-++++-..                                                      .----+*%%@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%+-....................................................................
    ..................................-+*%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                   .--------...      ....                                                       .+*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%*-....................................................................
    ..................................-+*%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%%%%%@%@%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                    ..----.-.                                                                   .*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%@%@%@%*+....................................................................
     .................................-+*%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@@%@%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                                                      ....                                                                     .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%+-..................................................................
     .................................-+*%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%@%%@@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%+                                                                                                                                                                .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@%@%%%%%+-..................................................................
     .................................-+*%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@%%@%@%@%@%@%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@%-                                                                                                                                                                -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@%%%%%%*-..................................................................
      ................................-+*%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%@@%@%@%@%@%@%@%@%%%%@@@@@@@@@@@@@@@@@@@@@@@@%-                                                                                                                                                               .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@%%%%*+.................................................................
       ...............................-+%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@%*-                                                     ...                                                                                                       -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@%@@@@%%%+-...............................................................
       ...............................-*%%%%@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*.                                                     .-----..                                                                                                 .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%@@%%+-...............................................................
        ..............................+*%%@%%%%@%%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                       .-++----...                                                                                            -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%@%@%%*-..............................................................
        .............................-+*%%@@%%%@%@%@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.                                                          .------...                                                                                         .+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@%@@@@@@@@@%@%*+..............................................................
        .............................-+*%%%%%@%%%%@%%%%%%%%%%%%%%@@@@@@@@@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*-                                                               ..---....                                                                                      -*@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@@@@@@@@%@%@%%%+-.............................................................
         ...........................-+*%%%%%%%%@%%%@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-      .                                                           ...----..                                                                                  -+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%*-............................................................
          .........................-+*%%%%%@%@%%@%%%%@%@%%%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@%*-      ...                                                             .------..                               ...                                            +*@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@@@@@@%@%@%@%@%*+...........................................................
           ......................--*%@%%%@@%@%@%@%@@%%@%%%%@%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-       ...                                                                ..--+---.......                   ..---++++--..                                   -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%@*+-.........................................................
           .....................-+*%@@@@%%@%@@%@%@%@%@%@%@%%%%@%@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-       .....                                                                  ..--+++++++---.................-.-----..                                     .+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@%@@%@%%+-.........................................................
            ...................-+*%@@@@@@%@@%@@@@@@@@@@@@@@@%@%%%@%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@%+.       ......                                                                     ..----+++-------.-.-.......                                             .+*@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@@@@@@@@@@@@@@@%@%@@%*-........................................................
            .................--+*%@@@@@@%@@@@@@@@@@@@@@@@@%@%@%@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+.       ......                                                                                                                                             -*@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@%*-........................................................
             ..............--+++*@@@@@@@@@@@%@@@@@@@@@@@%@%@%@%%@%@%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@*+.        ........                                                                                                                                         -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+.......................................................
              ..........--+++++*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+..       ....-....                                                                                                                                       -+%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-.....................................................
               .......--++++++**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%@%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@*+..         ..----..                                                                                                                                     -+%@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*+.....................................................
               ....--+++++++++*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%@%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-..         ...----....                                                                                                                                 -+%@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-....................................................
                ---++++++++++**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%@%@%@%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%++-.          ...----.....                                                                                                                              -*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-....................................................
                 --+++++++++***%@@@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@%@%%@%%%@%@%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%%+--.           ...-----....                                                                                                                           .-+%@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-...................................................
                  --++++++*+**%@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@%%@%@%@%%@%%@%%@%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%%+-...           ...-----....                                                      . .                                                                .-*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-..................................................
                   --+++*+****%%@@@@@@@@@@@@@%%%%*%%%%%@@@@@@@@@@@@@%@%@%@%@%@%%%@%@%%@%%%%%%%%%%%%%%@@@@%@@@@@@@@@@@@%%+-...            ...-----....                                                     .........                                                         .-*%@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-.................................................
                   --+++******%@@@@@@@@@@@%%%%%%%%**%%%%%@@@@@@@@@@@@@@@@@@@%@%@%%@%@%@%%%%%%%%%%%%%%%@%@@@@@@@@@@@@@@%%+-....            ..-------.....                                                     . .... .                                                      .+*%@@@@@@@@@@@@@@@@@@@%@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-.................................................
                     -+++*****%@@@@@@@@@@%%%%%%*%*%%%%%%%%@@@@@@@@@@@@@@@@@@@@@%@%@%%@%%%@%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@%+-...             ..--------.....                                                ... .                                                          .-+%@@@@@@@@@@@@@@@@@@@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-................................................
                      -++*****%@@@@@@@@@%%%%*%%*%*%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@%@@%@%@%%%%%%%%%%%%%%%%%@@@@@@@@@@@@@@@*+...              ..---------....                                                  . .                                                      ...-*%@@@@@@@@@@@@@@@@@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-................................................
                      -+++****%@@@@@@@%%%%%%*%*%%%%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%%%%%%%%%%%%%%%%%@@@@@@@@@%@@@%*+-.              ..---------.....                                                                                                         ..-+*%@@@@@@@@@@@@@@@@@@@@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*--...............................................
                       +-++***%@@@@@@%%%%%*%*%%*%*%%%*%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%%@%%@%%%%%%%%%%%%%%%@%@@@@@@%@@%*+..              ...----+----...                                                                                                       ..-+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+................................................
                         -++**%@@@@@@%%%*%*%*%**%%*%*%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%@%%%@%%%%%%%%%%%%%%@%@@@@@@@@@@@*+..              ...-----+----...                                                                                                   ..-+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-...............................................
                         --++*%@@@@@%%%*%*%*%*%**%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%@%%%%%%%%%%%%%%%%%%@@@%@@@@%%@%*-..              ..----+++-----..                                                                                                ..--+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-................................................
                          --+*%@@@@%%%***%*****%*%*%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%@%%%@%%%%%%%%%%%%%%@@@@@%@@%*-.              ....---+++-----...                                                                                             ..--+*%@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*-................................................
                            -+*%@@%%%*****%**%***%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%%@%%%@%%@%%%%%%%%@%@@@@@%@@@*+.               ..----++++----...                                                                                          .-----+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-................................................
                             +*%@@%%%*********%%%%%%%%%@@@@@@@@@@@@@@@@@@@@%%%@@@@@@@@@@@@@@@@@%@@@@%@%@%@%%@%%%%%%%%%%%%@@@@@@%%+.              ...----+++++----..                                                                                       ..-----++%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+--................................................
                              +*%@%%%%*******%*%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@%@@%@%@%@%@%@%%%%%%%%%%%@@@%@@@%%+.             ...----+++++++---...                                                                                   ..-------+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%*+-.................................................
                               **%%%%%%*******%*%%%%%%%%@@@@@@@@@@@@@@@@@@%**%%@@@@@@@@@@@@@@@@@@@@@%@%@@@%@%%@%@%%%%%%%%%%@%@@@@%%+-             ...---+++++++++---..                                                                                ..--++----+*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*--..................................................
                                ****%*%******%*%%%%%%%%%@@@@@@@@@@@@@@@@@%%**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%%%%%%%%@%%%%%%%@@%@@@%*.             ...--++++++++++---..                                                                              .--+-+-+--++*%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%*+-...................................................
                                 ++****%******%%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%@@%*-.            ...--+++++++++++---...                                                                         ..-+++-----++*%@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+.....................................................
                                   ++********%*%%%%%%%%%@@@@@@@@@@@@@@@@@@%%%%%%%@@%%%%%***********%@@@@@@@@@@@@%%%%@%%%%%%%%%%%%%%@@%*-             ...---+++++++++++----..                                                                     ..--+++----+-++%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+-....................................................
                                    ++*******%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%%%****%*******+++++++--++%%@@@@@@@@@@@@@@%@%@%%%%%%%%%@%%%%%*-.            ...---+++++++++++++---....                                                               ..--++---+----++*%@@@@@@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-.....................................................
                                      +*******%%%%%%%%%%%@@@@@@@@@@@@@@@@%%%*****++++++++++++------+*%@@@@@@@@@@@@@@%@%%%%%%%%%%%%%%%%%%*-.           .....---+++*****+++++----.......                                                       ..--+++++---+-+++*%@@@@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+.....................................................
                                       ++***%*%%%%%%%%%%%@@@@@@@@@@@@@@@%%%%%%%%***+++++-+--------+*%%@@@%@%@@@@@@@@@@@@%%%%%%%%%%%%%%@%%*-.           .....---++++*+**++++++--------...                                                   ...-+++++-----++++*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-.....................................................
                                        +++**%*%%%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@%*+++++---+-++++++**%%%%%%%@@@@%@@@@@@@@@@%%%%%%%%@%%%%@%*+.           .....----++++++*+*++++++++------.......                                         ...--+++++++-----++**%%@%@@@@@@@@@@@@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-.....................................................
                                          ++**%%%%%%%%%%%%@@@@@@@@@@@@@%@@@@@@@%%**++++----+-++++******%%%%%%%%%%@@@@@@@@@@@@@%%@%@%@%%%%%%%*-.           ......----+++++++++++++++++++-------.....                                  ...---+++++++++-----+**%@@@@%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-....................................................
                                           ++***%%%%%%%%%%%@@@@@@@@@@@@@@@@@%%*+++-++----+++++++********%%%%%%%%%%%%%%@%@@@@@@@@@%%%%%@%%@@%%%+-.          ........----++++++++++*+*+++++++-------........                       ...----++++++++--+-++++**%@@@@%@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+....................................................
                                             ++**%%%%%%%%@%@@@@@@@@@@%@@@%%*+-----------+++++*+*++*******%%****++*******%%%@@@@@@@%%%%@%@%@@%@%*+-    . ..     .......----+++++++****++++++++++++-+--------......................---++++++++++++----++**%@@@@@%@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-.................................................
                                              ++**%%%%%%%%%%@@@@@@@@@@@@%*+----------++++++*+++++*+**********++++++*******%%%@@@@@@@@@@%%%%%%%@@%*-.  .     .    .......-----++++++++*+*+*++++++++++++++-------------------------++++*+++++++++-++++**%@@@@@@@@%@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-...............................................
                                                +**%%%%%%%%%%@@@@@@@@%%*+-...-------++++++*+++++**********************%%%%%%%%%%@@@@@@@@%@%%%%%@@%*+-.   . . . .      .....------+++++*+********+*+++++++++++++++++++++++++++++++++*++++++------+++*%%@@@@@@@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%*-............................................
                                                 ++**%%%%%%%%%%%%%%%%*+----------+-+-++**++++++*******++++************%%%%%%%%%%%%@@@@@@@%%@%%%%%@@%*-.  ..      .       ....------++++++++**************+*+*+****+*+*******+***++++++----+----++*%%%@%@@@@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+-.........................................
                                                   +**%%%%%%%%%%%@%%*+-.-------+--++++++++-++***+++++++++++************%%%%%%%%%%@@@@@@@@@%@%%@%@%%%%%+-. .. .             ......----+++++++*****************************++++++---------------++%%@@@@%@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-......................................
                                                    ++**%%%%%%%%%%*+---------++-++++*+++-++*****++++++++++++++**********%%%%%%%%%%@@@@@@@@@@%%%@%%%%%@%*-. ...               ......----+++++++**********************+++--------.------------++*%@@@@@@@@@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%*-...................................
                                                      +***%%%%%%%*++-------+----++**++-++*%%**++++++**+++++++++********%%%%@%@%@@@@@@@@@@@@@@@%%@@@%@@%%+-. ... ..              .....----+++++++++**********+++++++------.........-..-----++*%%@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+-................................
                                                        +***%%%**++-------+---++**+++++*%%%**+++++++++*++++++++**%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@%%@@@%@%%%*-. ...... .             ....------+++++++++++++++-------..................----++*%@@@@@@@%@@@@@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%**-.............................
                                                          ++*%**+---+----++++++**++++*%%%%*++++++++-+++++++++***%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%@@%%*-. .......                .....------------------.......            ....----+*%%@@@@@@@%@%@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%*+..........................
                                                           +++++------+++++++***++++**%%%***+++++---+++++++***%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@@%%*+.........                     . ............. .                 ....----++*%@@@@@@@@@%%%@%@%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%*+-......................
                                                             +---++++++++++*****+++**%%**+***++++-----+++**%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@%%+-........                                                     ...-----+*%@@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%*+-...................
                                                               --+-++++*++*****++**%%%*+++++++++++--+++**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@%+-.........                                                  ..-----++*%@@@@@@@%@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%+-.................
                                                                 ---+++**********%%%%*+++++++++++++++**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%@@@%*-.........                                               ...----++*%@@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%*+-............
                                                                   --+++*****+**%%%*****+++++-+-+++**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*+-.......                                             ...-----+**%@@@@@%@%@@@@%@@@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@%%@%@%@@@@@@@@@@@@@@@@@@@%%%%%%*%*+-..........
                                                                     +++*******%%%*******+++++-+++**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@%*+-----....                                         ...-----++*%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%***%%@@@@@@@@@@@@@@@@@%%%@%@%@@@@@@@@@@@@@@@@@@%%%%%%%****-......
                                                                        ++****%%%********+++++++**%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-----...                                      .....---+++**%%@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@%%%**********%%@@%%@@@@@@@@@@@@@%%%%@@@@@@@@@@@@@@@@@@@@@%%%%%%*****+-..
                                                                          +++*%%********+*++++**%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%*+-.---....                                  .....---+++*%%@@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@%%%***********%%%%%%%%%@@@%%%%%%@@@%%%@%@@@@@@@@@@@@@@@@@@%%%%%*%*******
                                                                            ++*************+***%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*--.---......                               ...---+++**%%@@@@%@%@@@@@@@@@@@@@@@@@@@@@@@%%%%***********%%%%%%%%%%%%%%******%%@@@%%@%@@@@@@@@@@@@@@@@@@%%%%%***+++
                                                                              ++++************%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%*-..---.......                           ...---+++***%%%%@@%%%@@@@@@@@@@@@@@@@@@@@@@@%%%*******+****%%%%%%%%%%%%****+++++**%%@%@%@@@@@@@@@@@@@@@@@@%%%%%**+++
                                                                                 +++**%%%%%%%%%@@@@@@@@@@%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-.............                      ....--++++****%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%******+*****%%**%%%%%******+****++++*%@@@@%@@@@@@@@@@@@@@@@@%%%*+++
                                                                                   +++**%%%%%@@@@@@@@@@%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-..............                  ...----++++***%%%%@@@@%@@@@@@@@@@@@@@@@@@@@@@@%%%%***********%%***%%%%****+++********++**%%@@@@@@@@@@@@@@@@@@@%%*+++
                                                                                      ++**%%%@@@@@@@@%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%@%%+.................            ...------+++++***%%%@@@@%@@@@@@@@@@@@@@@@@@@@@@@%%%***********%%*****%%%***++++**********++**%@@@@@@@@@@@@@@@@@%%*++
                                                                                         +***%@@@@@@%%**%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%%@@%*-...... ..    . ...........---------+++++****%%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@%%%***********%%%*****%***+++++***%%%%%%%%**++*%@@@@@@@@@@@@@%%**+
                                                                                            +**%%@@@%%*%%%@@@@@@@@@@@@@@@@@@@@@%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+-...... . . . .........---------+++++++***%%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@%%%%%*******%%%%%%*****%**++++++**%%%%%%%%%%*****%@@@@@@@@@@%%**+
                                                                                              ***%%%%%%%@@@@@@@%%@@@@@@@@@@@%%%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-........ ...........---------+-++++****%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%******%%%%%%**+**%**+++++***%%%%%%%%%%%%%%%%@@@@@@@@%%%***
                                                                                                 *****%%%@@@@@@@%@@@@@@@@@@%%%%%*%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%*-..-..................------++++++*****%%@@@%@%@@@@@@@@@@@@@@@@@@@@@@@%%%%%********%%%%**++*****++++++**%%%%%%%%%%%%%%%@@@@@@@%%****
                                                                                                     *+**%%%@%%@@@@@@@@@@%%******%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@%%+-.-...............-------+++++******%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%********%%%%**+++***++++--++**%%%%%%%%%%@@@@@@@@@%%***
                                                                                                        ****%%%@@@@@@@@%%**+++***%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+----.........-.--------++++++****%%%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%**********%%%**++****++-+--+++***%%%%%%%%%@@@@@%%%%**
                                                                                                           +***%%@@@@%%*+++++***%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*-..--.-...-.---------++++++*****%%%%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%***%%%*%%%%%**+++****++------++***%*%%%%%%@%%%%%%**
                                                                                                               ****%%*++-++++***%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+-...-.-...--------+++++++****%%%@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%**%%%***%%%%%**+++*%**+-------+++***%%%%%%%%%****
                                                                                                                  *+++-----+**%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*--......-.-------+++++++***%%%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%****%%%*%%%%%**++****+++-------+++*****%*****+*
                                                                                                                      ------**%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@%@@%*-......-------+++++++***%%%%@%@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%******%%%@%%*******++--------++++++**+++*+
                                                                                                                           -+**%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%+-.....--------+++++**%%%%@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%**%%%%%%%*******++-+-----++++++++++
                                                                                                                                ****%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+....-.------++++***%%@%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%*%*%%%%%%%%****%%%*++++++++-+-----
                                                                                                                                    ******%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+----------+++++**%%%@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%**%%%%%%%%%***%%%**++++-------
                                                                                                                                         ******%%%%%@@@@@@@@@@@@@@@@@@@@@@@@@@@%*+----++++++++**%%%@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%*%%%%%%%%%%***++++----
                                                                                                                                                 *****%%%%@@@@@@@@@@@@@@@@@@@@@@%*++-+++++*****%%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%%%%*****++++
                                                                                                                                                       *****%%%%%%@@@@%%%@@@@@@@%%++++++*****%%@@@@%@@@%@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%%%%%%%%%***++++
                                                                                                                                                              *****%%%%*%*%%%%@@%%*++++***%%%%@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%%%*********+++
                                                                                                                                                                       +****%%%%**+---+++**%%%%%%%%%@@@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%****+