@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8c::::::::::::::::::::cO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c:::::::::::::::::::::::::::::::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::::::::::oOO8@@@@@@@8OCc::::::::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O::::::::::::O8@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::::::::::o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o:::::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::::C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o:::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o:::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c:::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C:::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::::@@C::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C::::::@@@@@::::::C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@O::::::@@@@@@@@@:::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O  c@@C:::::c@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@8:::::c@@@@@@@@@@@O::::::@@@@@@@@@@@@@@@:        :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Oc8@@@@::::::@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@@@@@@@@@@@@@::::::C@@@@@@@@@@:                o@@@@@@@@@@@@@@@@@@@@@@@@@@@c@@@@@@@@@o:::::@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@@@@@@@@@@@@@@@@::::::8@@@@@@@.                    o@@@@@@@@@@@@@@@@@@@@@@@o@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@o::::o@@@@@@@@@@@@@@@@@@@@@:::::::@@@@@       @O                @@@@@@@@@@@@@@@@@@@:o@@@@@@@@@@@@@8:::::@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@O::::o@@@@@@@@@@@@@@@@@@@@@@@@o::::::@c      8@@@@@@                @@@@@@@@@@@@@@@.@@@@@@@@@@@@@@@@8:::::@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@o:::::@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::.     8@@@@@@@@@8               @@@@@@@@@@@o:@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@::::c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::: O@@@@@@@@@@@@@@@              8@@@@@@@ @@@@@@@@@@@@@@@@@@@@@8::::O@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o:::::::@@@@@@@@@@@@@@@@@@@            o@@@@O @@@@@@@@@@@@@@@@@@@@@@@:::::O@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c   :::::::@@@@@@@@@@@@@@@@@@@o          C@@C@@@@@@@@@@@@@@@@@@@@@@@@@O:::::@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@c::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O      C8::::::8@@@@@@@@@@@@@@@@@@@@          @@@@@@@@@@@@@@@@@@@@@@@@@@@:::::8@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@8:::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@C      C@@@::::::c@@@@@@@@@@@@@@@@@@@@@C      @@@@@@@@@@@@@@@@@@@@@@@@@@@@o::::c@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::O@@@@@@@@@@@@@@@@@@@@@@@@@@8      c@@@@@@@c::::::@@@@@@@@@@@@@@@@@@       o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@@@@O      o@@@@@@@@@@::::::8@@@@@@@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@@@       @@@@@@@@@@@@@@::::::c@@@@@@@@@@@       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@@@      .@@@@@@@@@@@@@@@@o::::::@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::8@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@@8      :@@@@@@@@@@@@@@@@@@@:::::::@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::8@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@:::::::@@       @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::8@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@       @@@@@@@@@@@@@@@@@@@@@@@@@@:::::::      @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::8@@@@@@@@@@@@@@@@@         8@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@:::::C@@@@@@@@@@@@@@@@             @@@@@@@@@@@@@@@@@@@@@@@@@@ ::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@O:::::@@@@@@@@@@@@@@       o@@@@     c@@@@@@@@@@@@@@@@@@@@@o   .:::::c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o::::c@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@C::::@@@@@@@@@@@@@         @@@@@        @@@@@@@@@@@@@@@@@       c::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@::::c@@@@@@@@@@@      :@@@:cOO           :@@@@@@@@@@@@O       8@@:::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8:::::@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@c::::@@@@@@@@@        8@@@@8     .@@@@@     c@@@@@@@@       O@@@@@@:::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::8@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@      .@@8c@@@       @@@@@O       8@@@@       8@@@@@@@@@::::::o@@@@@@@@@@@@@@@@@@@@@@@@@@@@C::::8@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@c:::::@@@@@      o@@@@@       @@@c O8O           8       8@@@@@@@@@@@:::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@:::::@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@8:::::@@@@o    c. @@@@      o@@@@@:     @@@@@         C@@@@@@@@@@@@@@@8::::::@@@@@@@@@@@@@@@@@@@@@@@C:::::@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@c::::O@@@@   @@@@@       o@8.@@@@      c@@@@@       O@@@@@@@@@@@@@@@@@@C:::::o@@@@@@@@@@@@@@@@@@@@@:::::8@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@  :@@@@      @@@@@@      @@@@@         o@@@@@@@@@@@@@@@@@@@@@@:::::::@@@@@@@@@@@@@@@@@8:::::@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@@          .  @@@@      @@@@@o       o@@@@@@@@@@@@@@@@@@@@@@@@@:::::::@@@@@@@@@@@@@@::::::@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@C:::::C@@@@       @@@@@O      o@@OC@@@       C@@@@@@@@@@@@@@@@@@@@@@@@@@@O::::::@@@@@@@@@@@@::::::@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::@@@@@@     @@@@@      @@@@@@       :@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::C@@@@@@@::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c::::::@@@@@8            oc @@@@o      c@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::8@@@@::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::o@@@@@@@O       @@@@@O        @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O::::::8::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@::::::o@@@@@@@@O    C@@@@8      .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8:::::::8@@@@@@@@@@C          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@o::::::C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O:::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c::::::::o@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@c:::::::::o8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@C::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8::::::::::::c8@@@@@@@@@@@@@@@@@@@@@@@@8O:::::::::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8o:::::::::::::::::::coooocc:::::::::::::::::::O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O::::::::::::::::::::::::::::::::::::C8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@8C::::::::::::::::oC8@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
-----------------------------------------------------------------------------------