1










































                                                    1 OF   3SECTIONS.

                              PRINTED ON 03/31/73 AT 15.32.19
                    DATA CARD WITH CORRECTED VALUES:    17    1  320    1         1  630    1   15   80
1

+
+
+
+

+
+
+
+
     11-
+
+
+
+
 =+=1 +-   -1 -+I-     - -      11- -                              - 1                                   +-----       --
+
+
+
+
 =11-          -             -  --11-   1- 11-  +11+  -11- 1--1+++1+XAA1 +=-1 -   - -1I-I=+   - +=IA=ZAI 1III      -1-          - -1-
+
+
+
+
 I=1==+        11111111+++==+1++++==+1+=++-1++  1+1+I=++=III====+AAAXXXAI+++II==+++IA-+-1---==AX--MM-XX=-IAAX=  =II=I++         =XXA=
+                                                                                               CC  C
+
+
+
 III1--       111++==+++===II=====II===IAI+=I=+ ++11-1+1=IAXZZZZZ---MMMMM---==MM-ZXZ-Z-ZXX=X=-MXAAAXX=MZ-ZM-M-IIZXAI= 1IX=II==-AIZ-Z-
+                                                                CCC     CCCCC  C   C C     CC       C  C  C C                C   C C
+
+
+
 I=+ 1I  -- 1+-1+IIIAI==IIIAAIII=IAAII=AAAIAIII-11- +11111=XIAZ-MM=+==M-+=-IAAZXMM="+++=M+Z+==AZ++=++""++===M-A+Z-MZ=11=AIAXZZMA1+IIA
+                                                              C  CCCC CCCC       C+CCCC C      CCCCC++CCCCC C   C
+                                                                                  C                 CC
+
+
 +- --+-=I+++11+=IXXXAAIAXAXAAXAIIAAIIIIAAAIIII+-+===IAXXZ----A--MX-M-M+==++"""+"""+"""""+XXZZ--XAM+++++===+++-IZ-MM=MIX-M===+"""-""+
+                                                         CCCC CC  C C CCCCC+++C+++C+++++C    CC   CCCCCCCCCCCC  C  C   C CCCC+++.++C
+                                                                           CCC CCC CCCCC                                     CCC'CC
+                                                                                                                                X
+                                                                                                                                C
  -11--1+===+--1+IIIAAAAAXAXAXAAIIII+IIAXXXAXAA=+ZXZZ="""""""++"""++++=++++"""""""""++++=-1M+++MMM=+++MM===++=-=-==++M=Z-+++=+"+++-==
+                                                    C+++++++CC+++CCCCCCCCC+++++++++CCCCCC  CCC   CCCC  CCCCCCC CCCCC   CCCCCC+CCCCCC
+                                                     CCCCCCC  CCC         CCCCCCCCC                                          C
+
+
 ===+-      1+11==IIAAXXIIIIAAAXAIAA-=AAAXZXZXXAIZZM+"-----""""-"-"--"-""""""---"""""++"+MX"""""""""""+++=++M--+-==++-1ZM+=+M="+++MM+
+                                                   C+.....++++.+.+..+.++++++...+++++CC+C  +++++++++++CCCCCC CC CCCCCC   CCC C+CCC  C
+                                                    C'''''CCCC'C'C''C'CCCCCC'''CCCCC  C   CCCCCCCCCCC                        C
+                                                     XXXXX    X X XX X      XXX
+                                                     CCCCC    C C CC C      CCC
 II+1  -++1-- +1+==IAXA+11+=IAAIIA=IIIIIIAIIIIIII-=+"""-"""""""-"=M""""++="""+"+M""""+"+"- ==++"""""""--"""+"+=X====-+1-=+===+"""""+"
+                                                CCC+++.+++++++.+C ++++CCC+++C+C ++++C+C+C CCCC+++++++..+++C+CC CCCCC  CCCCCCC+++++C+
+                                                   CCC'CCCCCCC'C  CCCC   CCC C  CCCC C C      CCCCCCC''CCC C                 CCCCC C
+                                                      X       X                                      XX
+                                                      C       C                                      CC
   1- +IIAIAI====I=IAAI=IIAXXXXXAAIAAAXAAAAAAXXX-=""""--"-"----""++"--"""+""""""""-"-""""==="""""--------+"+"""Z+++=A==-++++=+--"-"--
+                                               CC++++..+.+....++CC+..+++C++++++++.+.++++C C+++++........C+C+++ CCCC   CCCCCCC..+.+..
+                                                 CCCC''C'C''''CC  C''CCC CCCCCCCC'C'CCCC   CCCCC'''''''' C CCC               ''C'C''
+                                                     XX X XXXX     XX            X X            XXXXXXXX                     XX X XX
+                                                     CC C CCCC     CC            C C            CCCCCCCC                     CC C CC
   -11=AAAAAAII=+====IAXXAXXZXXXAAIIAAXXAXXXX-MM+"""""-""-"----""""""-"-"""+""""""""-""-""="""""--------"+"""+MM++"+-=I-+++==="-"----
+                                            C  C+++++.++.+....++++++.+.+++C++++++++.++.++C+++++........+C+++C  CC+CC  CCCCCCC+.+....
+                                                CCCCC'CC'C''''CCCCCC'C'CCC CCCCCCCC'CC'CC CCCCC''''''''C CCC     C           C'C''''
+                                                     X  X XXXX      X X            X  X        XXXXXXXX                       X XXXX
+                                                     C  C CCCC      C C            C  C        CCCCCCCC                       C CCCC
 1++11+II=AAXAA======IAXZZZXAAAXAAIIAXXXAXZX-=+"+""------------"""--"""""""""-"""--""----"""--"---------"++++==M+"++-ZA-==+=+="""-+""
+                                           CCC+C++............+++..+++++++++.+++..++....+++..+.........+CCCCC  C+CCC  CCCCCCC+++.C++
+                                              C CC''''''''''''CCC''CCCCCCCCC'CCC''CC''''CCC''C'''''''''C        C            CCC' CC
+                                                  XXXXXXXXXXXX   XX         X   XX  XXXX   XX XXXXXXXXX                         X
+                                                  CCCCCCCCCCCC   CC         C   CC  CCCC   CC CCCCCCCCC                         C
 =1==11   1++++I=+++IAAZZZXXAIAAXAAAAAXXXXXZ+""++"---"--"--------"""---"-"""""----------"""--"""-------"+++++=I-+++=+-ZM=++=+="""--""
+                                           C++CC+...+..+........+++...+.+++++..........+++..+++.......+CCCCCC CCCCCCC  CCCCCC+++..++
+                                            CC  C'''C''C''''''''CCC'''C'CCCCC''''''''''CCC''CCC'''''''C                      CCC''CC
+                                                 XXX XX XXXXXXXX   XXX X     XXXXXXXXXX   XX   XXXXXXX                          XX
+                                                 CCC CC CCCCCCCC   CCC C     CCCCCCCCCC   CC   CCCCCCC                          CC
 -=IIXAI=IIIIII=+=II=IAZZXZXAAAXXAAAAAXZZX-=+==+""---"---"""---""+-""-"--"""""---"-"-"------------------+====M======MZZM+==++M-""-""-
+                                         CCCCCC++...+...+++...++C.++.+..+++++...+.+.+..................CCCCC CCCCCC    CCCCC .++.++.
+                                               CC'''C'''CCC'''CC 'CC'C''CCCCC'''C'C'C''''''''''''''''''                      'CC'CC'
+                                                 XXX XXX   XXX   X  X XX     XXX X X XXXXXXXXXXXXXXXXXX                      X  X  X
+                                                 CCC CCC   CCC   C  C CC     CCC C C CCCCCCCCCCCCCCCCCC                      C  C  C
 ===IAAIIAAAAIAIIAAAIIIXXXZXAAAXAAAAAAAXXZ=MZM=+""--""--------"""""""---""""""""--""-"--"-----""--------"+====++==M-ZZ-M+==+++--"-"""
+                                         C   CC++..++........+++++++...++++++++..++.+..+.....++........+CCCCCCCCC C  C CCCCCC..+.+++
+                                               CC''CC''''''''CCCCCCC'''CCCCCCCC''CC'C''C'''''CC''''''''C                     ''C'CCC
+                                                 XX  XXXXXXXX       XXX        XX  X XX XXXXX  XXXXXXXX                      XX X
+                                                 CC  CCCCCCCC       CCC        CC  C CC CCCCC  CCCCCCCC                      CC C
 II=IIAIIAXXAIIIAAAAIIAAXXZXAAXAAAAXAAAZZ==ZZM+"""------"------"-""""--"+""-"""""-""--"--"----""+-------++++++++=++=Z--=++++++-----""
+                                        CC   C+++......+......+.++++..+C++.+++++.++..+..+....++C.......CCCCCCCCCCCC CCCCCCCCC.....++
+                                              CCC''''''C''''''C'CCCC''C CC'CCCCC'CC''C''C''''CC '''''''                      '''''CC
+                                                 XXXXXX XXXXXX X    XX    X     X  XX XX XXXX   XXXXXXX                      XXXXX
+                                                 CCCCCC CCCCCC C    CC    C     C  CC CC CCCC   CCCCCCC                      CCCCC
 III=IIIAXAAAA=IAAA=I=IAAXXXXXAAXXZZXAZ-+=M--+"-"""--"-""----"""----""-+"""""""""""------""-"-+=--+"""""+=M=M=+===+++====++++="-"---"
+                                      CCC CCC+.+++..+.++....+++....++.C+++++++++++......++.+.CC..C+++++CC C CCCCCCCCCCCCCCCCC+.+...+
+                                             C'CCC''C'CC''''CCC''''CC' CCCCCCCCCCC''''''CC'C'  '' CCCCC                      C'C'''C
+                                              X   XX X  XXXX   XXXX  X            XXXXXX  X X  XX                             X XXX
+                                              C   CC C  CCCC   CCCC  C            CCCCCC  C C  CC                             C CCC
 II==I=IXXAAIIIIAAIII=IAXXZZXAAXXXXXXX-+=M==+""---""""--""""--"--"--"""+""""""""-------""----"+---------+M-M=====M=+====++=+++-""""""
+                                     CCC CCC++...++++..++++..+..+..+++C++++++++.......++....+C.........C C CCCCC CCCCCCCCCCCC.++++++
+                                            CC'''CCCC''CCCC''C''C''CCC CCCCCCCC'''''''CC''''C '''''''''                      'CCCCCC
+                                              XXX    XX    XX XX XX            XXXXXXX  XXXX  XXXXXXXXX                      X
+                                              CCC    CC    CC CC CC            CCCCCCC  CCCC  CCCCCCCCC                      C
 =II=++IXXAIIIIAAAAIA==AX--XXAAXZXXXXZ==M==""-"---------"-----"""""""""""""""-"--------------+""---"----"==+"+++== ==MM=+=++++-+"-"""
+                        CC           CC CC++.+.........+.....+++++++++++++++.+..............C++...+....+CCC+CCCC  CC  CCCCCCC.C+.+++
+                                          CC'C'''''''''C'''''CCCCCCCCCCCCCCC'C'''''''''''''' CC'''C''''C   C                 ' C'CCC
+                                            X XXXXXXXXX XXXXX               X XXXXXXXXXXXXXX   XXX XXXX                      X  X
+                                            C CCCCCCCCC CCCCC               C CCCCCCCCCCCCCC   CCC CCCC                      C  C
 =I==+1IAAXAAIAAAAAAAI=IX--ZXAAXXXXXZM+MM=+---------"---------"""+"""""""-""""----"---""----+"""""""-"---"---"""=A M====+=++++"+-""""
+                        CC           C  CC.........+.........+++C+++++++.++++....+...++....C+++++++.+...+...+++C   CCCCCCCCCC+C.++++
+                                          '''''''''C'''''''''CCC CCCCCCC'CCCC''''C'''CC'''' CCCCCCC'C'''C'''CCC              C 'CCCC
+                                          XXXXXXXXX XXXXXXXXX           X    XXXX XXX  XXXX        X XXX XXX                   X
+                                          CCCCCCCCC CCCCCCCCC           C    CCCC CCC  CCCC        C CCC CCC                   C
 =+=+==IAII=+IIAAAXXI=+IAZZZXAAAZZXZ-==M=+"""--"-------"""---"""""----"""-"""""-"-"--+""--"""--"-"""--"------"""=M ==+++"+++""-"+----
+                                   CCC CC+++..+.......+++...+++++....+++.+++++.+.+..C++..+++..+.+++..+......+++C  CCCCC+CCC++.+C....
+                                         CCC''C'''''''CCC'''CCCCC''''CCC'CCCCC'C'C'' CC''CCC''C'CCC''C''''''CCC        C   CC'C ''''
+                                            XX XXXXXXX   XXX     XXXX   X     X X XX   XX   XX X   XX XXXXXX                 X  XXXX
+                                            CC CCCCCCC   CCC     CCCC   C     C C CC   CC   CC C   CC CCCCCC                 C  CCCC
 =+===IIIIIAXAAXAXXAAI=IXZZ-ZXAXXZZZM=-=+"---------""---"---"-"""-------"""---"-"----""--""""--------"------""--"""""----""=M""""----
+                          C         CCCC+.........++...+...+.+++.......+++...+.+....++..++++........+......++..+++++....++C ++++....
+                                        C'''''''''CC'''C'''C'CCC'''''''CCC'''C'C''''CC''CCCC''''''''C''''''CC''CCCCC''''CC  CCCC''''
+                                         XXXXXXXXX  XXX XXX X   XXXXXXX   XXX X XXXX  XX    XXXXXXXX XXXXXX  XX     XXXX        XXXX
+                                         CCCCCCCCC  CCC CCC C   CCCCCCC   CCC C CCCC  CC    CCCCCCCC CCCCCC  CC     CCCC        CCCC
 ===IIIIIIIAXXXAXXAAAAIAAXZ-ZXXXZZ--=MM+"----"""""-""------"""""----"--""""---"--"---"--""---"-"-----"-""-""---"""""""--+="-"--"-----
+                          C      CCC  C+....+++++.++......+++++....+..++++...+..+...+..++...+.+.....+.++.++...+++++++..CC+.+..+.....
+                                       C''''CCCCC'CC''''''CCCCC''''C''CCCC'''C''C'''C''CC'''C'C'''''C'CC'CC'''CCCCCCC''  C'C''C'''''
+                                        XXXX     X  XXXXXX     XXXX XX    XXX XX XXX XX  XXX X XXXXX X  X  XXX       XX   X XX XXXXX
+                                        CCCC     C  CCCCCC     CCCC CC    CCC CC CCC CC  CCC C CCCCC C  C  CCC       CC   C CC CCCCC
 =IIAAXAAAAIAXXXXXAXZXAAAAZZZZXXZZ-M=-M"--""-""""""---------"""----""----"-""""""""------"""-""""---""-"""""--""----"""""------------
+                                 C CC +..++.++++++.........+++....++....+.++++++++......+++.++++...++.+++++..++....+++++............
+                                      C''CC'CCCCCC'''''''''CCC''''CC''''C'CCCCCCCC''''''CCC'CCCC'''CC'CCCCC''CC''''CCCCC''''''''''''
+                                       XX  X      XXXXXXXXX   XXXX  XXXX X        XXXXXX   X    XXX  X     XX  XXXX     XXXXXXXXXXXX
+                                       CC  C      CCCCCCCCC   CCCC  CCCC C        CCCCCC   C    CCC  C     CC  CCCC     CCCCCCCCCCCC
 IXXXXAAXAIAXXZXXXXXXXA=AAZZZZZXXZZ==M=--""""""-"----------"-"---"----"""""""+""""-"""-----""""--"-----"--"""+"-"""+"M-"----""-------
+                                  CC C..++++++.+..........+.+...+....+++++++C++++.+++.....++++..+.....+..+++C+.+++C+ C+....++.......
+                                      ''CCCCCC'C''''''''''C'C'''C''''CCCCCCC CCCC'CCC'''''CCCC''C'''''C''CCC C'CCC C  C''''CC'''''''
+                                      XX      X XXXXXXXXXX X XXX XXXX            X   XXXXX    XX XXXXX XX     X        XXXX  XXXXXXX
+                                      CC      C CCCCCCCCCC C CCC CCCC            C   CCCCC    CC CCCCC CC     C        CCCC  CCCCCCC
 IAAAXXAXAIAAXXZZZXAXXAIAXZ--ZXXAZZ+=M"-"++-"""-----------"""-"----------"--""""""""""""""--"="-"----------""M+""""""------""--------
+                          CC      CC +.+CC.+++...........+++.+..........+..++++++++++++++..+C+.+..........++ C++++++......++........
+                                     C'C  'CCC'''''''''''CCC'C''''''''''C''CCCCCCCCCCCCCC''C C'C''''''''''CC  CCCCCC''''''CC''''''''
+                                      X   X   XXXXXXXXXXX   X XXXXXXXXXX XX              XX   X XXXXXXXXXX          XXXXXX  XXXXXXXX
+                                      C   C   CCCCCCCCCCC   C CCCCCCCCCC CC              CC   C CCCCCCCCCC          CCCCCC  CCCCCCCC
 AIAAXXXXXAAAXXXXXXXXXXAAXZZ--ZXAXZ==M"""++"""--"----""---"""-""""----"----"""++"-""--""""-"="-"---------""""--""=+"-"----"----------
+                           CC     CC +++CC+++..+....++...+++.++++....+....+++CC+.++..++++.+C+.+.........++++..++CC+.+....+..........
+                                     CCC  CCC''C''''CC'''CCC'CCCC''''C''''CCC  C'CC''CCCC'C C'C'''''''''CCCC''CC  C'C''''C''''''''''
+                                             XX XXXX  XXX   X    XXXX XXXX      X  XX    X   X XXXXXXXXX    XX     X XXXX XXXXXXXXXX
+                                             CC CCCC  CCC   C    CCCC CCCC      C  CC    C   C CCCCCCCCC    CC     C CCCC CCCCCCCCCC
 AAAAXXXXXXAIAXXXXXXZZXXXXXZ--ZZXXX==M""""+"---""----"-----"---"-----------"""""-----"--"++""-------"-----"----"+++"-""""-"""-------"
+                           CC     CC ++++C+...++....+.....+...+...........+++++.....+..+CC++.......+.....+....+CCC+.++++.+++.......+
+                                     CCCC C'''CC''''C'''''C'''C'''''''''''CCCCC'''''C''C  CC'''''''C'''''C''''C   C'CCCC'CCC'''''''C
+                                           XXX  XXXX XXXXX XXX XXXXXXXXXXX     XXXXX XX     XXXXXXX XXXXX XXXX     X    X   XXXXXXX
+                                           CCC  CCCC CCCCC CCC CCCCCCCCCCC     CCCCC CC     CCCCCCC CCCCC CCCC     C    C   CCCCCCC
 XIAIAXAAAXAAAAXXXXXZZXXAAXZ---ZXXX=+=""""+""--"--"------"---"----"---------"-"------""""""""--"-----------""-"""++""""""""--"""-""""
+                           CCC    CCC++++C++..+..+......+...+....+.........+.+......++++++++..+...........++.+++CC++++++++..+++.++++
+                                     CCCC CC''C''C''''''C'''C''''C'''''''''C'C''''''CCCCCCCC''C'''''''''''CC'CCC  CCCCCCCC''CCC'CCCC
+                                            XX XX XXXXXX XXX XXXX XXXXXXXXX X XXXXXX        XX XXXXXXXXXXX  X             XX   X
+                                            CC CC CCCCCC CCC CCCC CCCCCCCCC C CCCCCC        CC CCCCCCCCCCC  C             CC   C
 XAIIAXXAXXAAAAAZZXXXXXXAAXZZ-ZZXAX-+="-""=+"----"""""---------------"---"-"""-"-------"+++"""""--"-----"-----"""+""""""-------------
+                            C     CCC+.++CC+....+++++...............+...+.+++.+.......+CCC+++++..+.....+.....+++C++++++.............
+                                     C'CC  C''''CCCCC'''''''''''''''C'''C'CCC'C'''''''C   CCCCC''C'''''C'''''CCC CCCCCC'''''''''''''
+                                      X     XXXX     XXXXXXXXXXXXXXX XXX X   X XXXXXXX         XX XXXXX XXXXX          XXXXXXXXXXXXX
+                                      C     CCCC     CCCCCCCCCCCCCCC CCC C   C CCCCCCC         CC CCCCC CCCCC          CCCCCCCCCCCCC
 XXIIAAAAAXAAAAXXXZXXAAXXAXZ-ZZZXAXZ==="-"++"---""""""------"------------"-""------"""""""""+"-"""+""-----------"""""""""----------""
+                           C       CCC+.+CC+...++++++......+............+.++......+++++++++C+.+++C++...........+++++++++..........++
+                                      C'C  C'''CCCCCC''''''C''''''''''''C'CC''''''CCCCCCCCC C'CCC CC'''''''''''CCCCCCCCC''''''''''CC
+                                       X    XXX      XXXXXX XXXXXXXXXXXX X  XXXXXX           X      XXXXXXXXXXX         XXXXXXXXXX
+                                       C    CCC      CCCCCC CCCCCCCCCCCC C  CCCCCC           C      CCCCCCCCCCC         CCCCCCCCCC
 XXAAAAXXAAAAAAAXAXXXXXXXAXZ-ZXZXXXZM+="-""""----"""""--"--------------""--""---------"--"-"""""""""-"""--------"""--""""----------""
+                           C        CC+.++++....+++++..+..............++..++.........+..+.+++++++++.+++........+++..++++..........++
+                                      C'CCCC''''CCCCC''C''''''''''''''CC''CC'''''''''C''C'CCCCCCCCC'CCC''''''''CCC''CCCC''''''''''CC
+                                       X    XXXX     XX XXXXXXXXXXXXXX  XX  XXXXXXXXX XX X         X   XXXXXXXX   XX    XXXXXXXXXX
+                                       C    CCCC     CC CCCCCCCCCCCCCC  CC  CCCCCCCCC CC C         C   CCCCCCCC   CC    CCCCCCCCCC
 XXXAAAAXXXIAAAAXXXXXXXXAAXZZZZZXZXZ-===-""+-"--"--"-"---""""-------------""""""-"---"""""-"-"""+"+"""""---------"++"""-"---""--"-""-
+                                   CCCC.++C.+..+..+.+...++++.............++++++.+...+++++.+.+++C+C+++++.........+CC+++.+...++..+.++.
+                                       'CC 'C''C''C'C'''CCCC'''''''''''''CCCCCC'C'''CCCCC'C'CCC C CCCCC'''''''''C  CCC'C'''CC''C'CC'
+                                       X   X XX XX X XXX    XXXXXXXXXXXXX      X XXX     X X           XXXXXXXXX      X XXX  XX X  X
+                                       C   C CC CC C CCC    CCCCCCCCCCCCC      C CCC     C C           CCCCCCCCC      C CCC  CC C  C
 ZZZXXAXXXAAXXXAXAXZZXXXAAAXZZ-ZXXZZ-===""""""--------"----"-------""----"""""-------""-"""-"""""""""""""--------"--"""""-----"""""--
+                             C     CCCC++++++........+....+.......++....+++++.......++.+++.+++++++++++++........+..+++++.....+++++..
+                                       CCCCCC''''''''C''''C'''''''CC''''CCCCC'''''''CC'CCC'CCCCCCCCCCCCC''''''''C''CCCCC'''''CCCCC''
+                                             XXXXXXXX XXXX XXXXXXX  XXXX     XXXXXXX  X   X             XXXXXXXX XX     XXXXX     XX
+                                             CCCCCCCC CCCC CCCCCCC  CCCC     CCCCCCC  C   C             CCCCCCCC CC     CCCCC     CC
 ZZZZXAAXXXXAXAAAAXZZXAAXAIAZZ-ZZZZ-ZM=+="-""""--------------------""----"""""-------""""""-""""""""-""""------"""--"-----"----"""---
+                             C    C  CCC+.++++....................++....+++++.......++++++.++++++++.++++......+++..+.....+....+++...
+                                        C'CCCC''''''''''''''''''''CC''''CCCCC'''''''CCCCCC'CCCCCCCC'CCCC''''''CCC''C'''''C''''CCC'''
+                                         X    XXXXXXXXXXXXXXXXXXXX  XXXX     XXXXXXX      X        X    XXXXXX   XX XXXXX XXXX   XXX
+                                         C    CCCCCCCCCCCCCCCCCCCC  CCCC     CCCCCCC      C        C    CCCCCC   CC CCCCC CCCC   CCC
 ZZZZXXAXXXXAAXXAAXZXXZZXXAAXZZ-Z-----M+++--""-"-----"-"-----------""-""""""""---------"-"--""""""""""+"""-------""-""""-""""--++"---
+                              C CCCCC CCC..++.+.....+.+...........++.++++++++.........+.+..++++++++++C+++.......++.++++.++++..CC+...
+                                         ''CC'C'''''C'C'''''''''''CC'CCCCCCCC'''''''''C'C''CCCCCCCCCC CCC'''''''CC'CCCC'CCCC''  C'''
+                                         XX  X XXXXX X XXXXXXXXXXX  X        XXXXXXXXX X XX              XXXXXXX  X    X    XX   XXX
+                                         CC  C CCCCC C CCCCCCCCCCC  C        CCCCCCCCC C CC              CCCCCCC  C    C    CC   CCC
 ZZZZZZXAAXXXAXXZAAXAXZXXXAAAXZZ------M=++"-"--------""-"--------"""""+""""""-"--"------""""+""""-""++++++"---"-----"""--"-----"""""-
+                               CCCCCC CCC+.+........++.+........+++++C++++++.+..+......++++C++++.++CCCCCC+...+.....+++..+.....+++++.
+                                         C'C''''''''CC'C''''''''CCCCC CCCCCC'C''C''''''CCCC CCCC'CC      C'''C'''''CCC''C'''''CCCCC'
+                                          X XXXXXXXX  X XXXXXXXX            X XX XXXXXX         X         XXX XXXXX   XX XXXXX     X
+                                          C CCCCCCCC  C CCCCCCCC            C CC CCCCCC         C         CCC CCCCC   CC CCCCC     C
 ZXXZZ-XAXXZXXXXXXAXXXXAZXXXAXZZZ-------M+""""-------"-----------"""--"""""""------"--""""--""-"--""-"--""""-""-"""-""""---"------"""
+     C                          CCCCCCC C++++.......+...........+++..+++++++......+..++++..++.+..++.+..++++.++.+++.++++...+......+++
+                                         CCCC'''''''C'''''''''''CCC''CCCCCCC''''''C''CCCC''CC'C''CC'C''CCCC'CC'CCC'CCCC'''C''''''CCC
+                                             XXXXXXX XXXXXXXXXXX   XX       XXXXXX XX    XX  X XX  X XX    X  X   X    XXX XXXXXX
+                                             CCCCCCC CCCCCCCCCCC   CC       CCCCCC CC    CC  C CC  C CC    C  C   C    CCC CCCCCC
 XXXZZ-ZXXXXXXXAAAAXZZXXZZXXAXZZZ----M---M=+""-------"-----"---""""-----""""""-----"--""""--""----------""""-"------""""---"------"""
+     C                          CCCC CCC CC++.......+.....+...++++.....++++++.....+..++++..++..........++++.+......++++...+......+++
+                                           CC'''''''C'''''C'''CCCC'''''CCCCCC'''''C''CCCC''CC''''''''''CCCC'C''''''CCCC'''C''''''CCC
+                                             XXXXXXX XXXXX XXX    XXXXX      XXXXX XX    XX  XXXXXXXXXX    X XXXXXX    XXX XXXXXX
+                                             CCCCCCC CCCCC CCC    CCCCC      CCCCC CC    CC  CCCCCCCCCC    C CCCCCC    CCC CCCCCC
 ZXZZZ--ZXXXXAAXAXAXZXZXZZXXAA-----M------=+"--------"-----"---"-"""-------"""----------""-"""------------""-""------"""-----------""
+     CC                      CCCCC CCCCCCCC+........+.....+...+.+++.......+++..........++.+++............++.++......+++...........++
+                                           C''''''''C'''''C'''C'CCC'''''''CCC''''''''''CC'CCC''''''''''''CC'CC''''''CCC'''''''''''CC
+                                            XXXXXXXX XXXXX XXX X   XXXXXXX   XXXXXXXXXX  X   XXXXXXXXXXXX  X  XXXXXX   XXXXXXXXXXX
+                                            CCCCCCCC CCCCC CCC C   CCCCCCC   CCCCCCCCCC  C   CCCCCCCCCCCC  C  CCCCCC   CCCCCCCCCCC
 ZZZZZZ-XAXAAAXXAAXAXZZZZZXAXAXZZ-M----M-M=+""-""--"""---------"-"""---""---"""-----""-"""--"----------"""""-"--"""-----"-"++"--"----
+      C                         C CCCC C CC++.++..+++.........+.+++...++...+++.....++.+++..+..........+++++.+..+++.....+.+CC+..+....
+                                           CC'CC''CCC'''''''''C'CCC'''CC'''CCC'''''CC'CCC''C''''''''''CCCCC'C''CCC'''''C'C  C''C''''
+                                             X  XX   XXXXXXXXX X   XXX  XXX   XXXXX  X   XX XXXXXXXXXX     X XX   XXXXX X    XX XXXX
+                                             C  CC   CCCCCCCCC C   CCC  CCC   CCCCC  C   CC CCCCCCCCCC     C CC   CCCCC C    CC CCCC
 Z-ZZZZ-ZXAAAAXXXXXXXXZZZZAXAAXZZ----MMMMM=+---"--"-----------""-"-----"""--"""--"--"""-""---"----""-"--"-"------"-"------""""-""----
+ C    C                         CCCC     CC...+..+...........++.+.....+++..+++..+..+++.++...+....++.+..+.+......+.+......++++.++....
+                                           '''C''C'''''''''''CC'C'''''CCC''CCC''C''CCC'CC'''C''''CC'C''C'C''''''C'C''''''CCCC'CC''''
+                                           XXX XX XXXXXXXXXXX  X XXXXX   XX   XX XX   X  XXX XXXX  X XX X XXXXXX X XXXXXX    X  XXXX
+                                           CCC CC CCCCCCCCCCC  C CCCCC   CC   CC CC   C  CCC CCCC  C CC C CCCCCC C CCCCCC    C  CCCC
 ZZZXXXXXXXAAAAXXXXXXXXZXXXAXAXX--M-MMM=MM++""-----------------""-----"""-"--"""--"-"""-""---"-"--"--"--"-------"--"-------""""""----
+                               CC C   C  CC++.................++.....+++.+..+++..+.+++.++...+.+..+..+..+.......+..+.......++++++....
+                                           CC'''''''''''''''''CC'''''CCC'C''CCC''C'CCC'CC'''C'C''C''C''C'''''''C''C'''''''CCCCCC''''
+                                             XXXXXXXXXXXXXXXXX  XXXXX   X XX   XX X   X  XXX X XX XX XX XXXXXXX XX XXXXXXX      XXXX
+                                             CCCCCCCCCCCCCCCCC  CCCCC   C CC   CC C   C  CCC C CC CC CC CCCCCCC CC CCCCCCC      CCCC
 -ZZZXXXXXXAIAXXXAXXXXXZZXXXXAAX-Z--MMMMMM+""------------------"----"""""------"-+"-""+++---""""--"--"--""---------"----"--"---""""--
+C                              C CC      C++..................+....+++++......+.C+.++CCC...++++..+..+..++.........+....+..+...++++..
+                                          CC''''''''''''''''''C''''CCCCC''''''C' C'CC   '''CCCC''C''C''CC'''''''''C''''C''C'''CCCC''
+                                            XXXXXXXXXXXXXXXXXX XXXX     XXXXXX X  X     XXX    XX XX XX  XXXXXXXXX XXXX XX XXX    XX
+                                            CCCCCCCCCCCCCCCCCC CCCC     CCCCCC C  C     CCC    CC CC CC  CCCCCCCCC CCCC CC CCC    CC
 ZZXZZZXZ-ZXAAXXXXXAAXXZZZXXXAAXZZ-M-MM===+""""--------------"-"----"""""""--"""""""""""""--"""-----""-"--""----"-------""---"----"""
+        C                        C C  CCCC++++..............+.+....+++++++..+++++++++++++..+++.....++.+..++....+.......++...+....+++
+                                          CCCC''''''''''''''C'C''''CCCCCCC''CCCCCCCCCCCCC''CCC'''''CC'C''CC''''C'''''''CC'''C''''CCC
+                                              XXXXXXXXXXXXXX X XXXX       XX             XX   XXXXX  X XX  XXXX XXXXXXX  XXX XXXX
+                                              CCCCCCCCCCCCCC C CCCC       CC             CC   CCCCC  C CC  CCCC CCCCCCC  CCC CCCC
 Z--ZZZZZZZXAAAXXAAXXXXXZZZZZAAXXZMMMM===++"""-""--------------""""-"-""""-""""-"-""""-----------"""----"------------"-----"""---"---
+ CC                                  CCCCC+++.++..............++++.+.++++.++++.+.++++...........+++....+............+.....+++...+...
+                                          CCC'CC''''''''''''''CCCC'C'CCCC'CCCC'C'CCCC'''''''''''CCC''''C''''''''''''C'''''CCC'''C'''
+                                             X  XXXXXXXXXXXXXX    X X    X    X X    XXXXXXXXXXX   XXXX XXXXXXXXXXXX XXXXX   XXX XXX
+                                             C  CCCCCCCCCCCCCC    C C    C    C C    CCCCCCCCCCC   CCCC CCCCCCCCCCCC CCCCC   CCC CCC
 ZZZZZZZXXZZXAAXXXXXXXXZZZZZZXXAXZ-M=====+""""--"----"----""""""""----""""""""""""""-"-----"""---"""------"----------------""--"+""--
+                                 C CCCCCC++++..+....+....++++++++....++++++++++++++.+.....+++...+++......+................++..+C++..
+                                         CCCC''C''''C''''CCCCCCCC''''CCCCCCCCCCCCCC'C'''''CCC'''CCC''''''C''''''''''''''''CC''C CC''
+                                             XX XXXX XXXX        XXXX              X XXXXX   XXX   XXXXXX XXXXXXXXXXXXXXXX  XX    XX
+                                             CC CCCC CCCC        CCCC              C CCCCC   CCC   CCCCCC CCCCCCCCCCCCCCCC  CC    CC
 ZZZZZZZZXZZZXXXZZZXXXXXZZZZZXXXXZ-M=MM=++"----------"-"--""""""-"---"""""""-""-""""-------""------"----"-"-"-""----------------+""--
+                                 C C  CCC+..........+.+..++++++.+...+++++++.++.++++.......++......+....+.+.+.++................C++..
+                                         C''''''''''C'C''CCCCCC'C'''CCCCCCC'CC'CCCC'''''''CC''''''C''''C'C'C'CC'''''''''''''''' CC''
+                                          XXXXXXXXXX X XX      X XXX       X  X    XXXXXXX  XXXXXX XXXX X X X  XXXXXXXXXXXXXXXX   XX
+                                          CCCCCCCCCC C CC      C CCC       C  C    CCCCCCC  CCCCCC CCCC C C C  CCCCCCCCCCCCCCCC   CC
 XZZZZZZZXXZZZXXXZXXXZXXZXZZXXXXXX--M==="""----"------"-"""+""""-"""""""""""-""-"""-----"---"------"---"-""""-""----------"-------++"
+                                 CC CCC+++....+......+.+++C++++.+++++++++++.++.+++.....+...+......+...+.++++.++..........+.......CC+
+                                       CCC''''C''''''C'CCC CCCC'CCCCCCCCCCC'CC'CCC'''''C'''C''''''C'''C'CCCC'CC''''''''''C'''''''  C
+                                          XXXX XXXXXX X        X           X  X   XXXXX XXX XXXXXX XXX X    X  XXXXXXXXXX XXXXXXX
+                                          CCCC CCCCCC C        C           C  C   CCCCC CCC CCCCCC CCC C    C  CCCCCCCCCC CCCCCCC
 ZZZZZZZZXZZZZZXXXXXZXXZXZZZZXXXXZ-M==++"-"------------""-----------"""""""---""---------""-"""-"----"--------------------"--------=+
+                                 C CCCC+.+............++...........+++++++...++.........++.+++.+....+....................+........CC
+                                       C'C''''''''''''CC'''''''''''CCCCCCC'''CC'''''''''CC'CCC'C''''C''''''''''''''''''''C''''''''
+                                        X XXXXXXXXXXXX  XXXXXXXXXXX       XXX  XXXXXXXXX  X   X XXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXX
+                                        C CCCCCCCCCCCC  CCCCCCCCCCC       CCC  CCCCCCCCC  C   C CCCC CCCCCCCCCCCCCCCCCCCC CCCCCCCC
 ZZZZZZ--ZZZZ--ZXXZZZZZZ---ZZZZXXZZ-M+""----------------------------"""-"--"-"""-----""-""--"+"-""------------------------------"-"""
+      CC    CC         CCC        C C++............................+++.+..+.+++.....++.++..+C+.++..............................+.+++
+                                     CC''''''''''''''''''''''''''''CCC'C''C'CCC'''''CC'CC''C C'CC''''''''''''''''''''''''''''''C'CCC
+                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXX   X XX X   XXXXX  X  XX   X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                                       CCCCCCCCCCCCCCCCCCCCCCCCCCCC   C CC C   CCCCC  C  CC   C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
 XXZZXX---ZZZ-Z-ZZXZZZZZ--ZZZXZXZZZ--+""----------------------------"""-""""-"""-"-"-""-""--""""""------------------------"--"-------
+      CCC   C C        CC         CCC++............................+++.++++.+++.+.+.++.++..++++++........................+..+.......
+                                     CC''''''''''''''''''''''''''''CCC'CCCC'CCC'C'C'CC'CC''CCCCCC''''''''''''''''''''''''C''C'''''''
+                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXX   X    X   X X X  X  XX      XXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX
+                                       CCCCCCCCCCCCCCCCCCCCCCCCCCCC   C    C   C C C  C  CC      CCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCC
 XXZXZZZZ-ZZZZ-ZZZXZZZZZ-ZXXXZZXZZM-=""----------------------------"--""-""--""-"""---"-"--"---"------""------------------"----"-----
+        C    C         C          CC++............................+..++.++..++.+++...+.+..+...+......++..................+....+.....
+                                    CC''''''''''''''''''''''''''''C''CC'CC''CC'CCC'''C'C''C'''C''''''CC''''''''''''''''''C''''C'''''
+                                      XXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X  XX  X   XXX X XX XXX XXXXXX  XXXXXXXXXXXXXXXXXX XXXX XXXXX
+                                      CCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C  CC  C   CCC C CC CCC CCCCCC  CCCCCCCCCCCCCCCCCC CCCC CCCCC
 ZXZZZZZZ--ZZ---ZXXZZZXZZXZZ---ZZZ-M="""----"--------"------------------------------"""""""--"------------------+--------"-----------
+        CC  CCC            CCC   C C+++....+........+..............................+++++++..+..................C........+...........
+                                    CCC''''C''''''''C''''''''''''''''''''''''''''''CCCCCCC''C'''''''''''''''''' ''''''''C'''''''''''
+                                       XXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XX XXXXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXXXX
+                                       CCCC CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CC CCCCCCCCCCCCCCCCCC CCCCCCCC CCCCCCCCCCC
 ZZZZZZZ---ZZ---ZZXXXZXZZZZZ----Z--==++"---------------------"--"--------------------"---"------------------------"-"---------------"
+       CCC  CCC            CCCC CCCCCC+.....................+..+....................+...+........................+.+...............+
+                                      C'''''''''''''''''''''C''C''''''''''''''''''''C'''C''''''''''''''''''''''''C'C'''''''''''''''C
+                                       XXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXXXX
+                                       CCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCC
 -ZZZXZZ----ZZ---ZZXZXZZZ----ZZZZ--M=+"--------------------"""-----------------""----"---------------------------------------------"-
+C      CCCC  CCC        CCCC    CC CC+....................+++.................++....+.............................................+.
+                                     C''''''''''''''''''''CCC'''''''''''''''''CC''''C'''''''''''''''''''''''''''''''''''''''''''''C'
+                                      XXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXX  XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                                      CCCCCCCCCCCCCCCCCCCC   CCCCCCCCCCCCCCCCC  CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
 --Z-ZZZ----ZZZZ--ZXXZZXX---ZZZZZ--M=+"------"-------------"""---"--------"-"--"--"-"-""-"--------------------------------"--""---"""
+CC C   CCCC    CC       CCC     CC CC+......+.............+++...+........+.+..+..+.+.++.+................................+..++...+++
+                                     C''''''C'''''''''''''CCC'''C''''''''C'C''C''C'C'CC'C''''''''''''''''''''''''''''''''C''CC'''CCC
+                                      XXXXXX XXXXXXXXXXXXX   XXX XXXXXXXX X XX XX X X  X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  XXX
+                                      CCCCCC CCCCCCCCCCCCC   CCC CCCCCCCC C CC CC C C  C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  CCC
 -Z--ZZZ-----ZZZZ-ZXXXZZ-Z---Z----MM+----------------------""-----------------"--"--"""--"--""-"---------------------------------"---
+C CC   CCCCC    C      C CCC CCCC  C......................++.................+..+..+++..+..++.+.................................+...
+                                    ''''''''''''''''''''''CC'''''''''''''''''C''C''CCC''C''CC'C'''''''''''''''''''''''''''''''''C'''
+                                    XXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXX XX XX   XX XX  X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX
+                                    CCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCC CC CC   CC CC  C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC
 -----ZZZ------ZZZZXXZZ-ZZZ-----M-=+="--------------------"-"-------"-----"-"-"----------""""""--------------------------------------
+CCCCC   CCCCCC        C   CCCCC CCCC+....................+.+.......+.....+.+.+..........++++++......................................
+                                    C''''''''''''''''''''C'C'''''''C'''''C'C'C''''''''''CCCCCC''''''''''''''''''''''''''''''''''''''
+                                     XXXXXXXXXXXXXXXXXXXX X XXXXXXX XXXXX X X XXXXXXXXXX      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                     CCCCCCCCCCCCCCCCCCCC C CCCCCCC CCCCC C C CCCCCCCCCC      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 M---ZXZZ-----ZZZZ--ZZZZZZ----Z--M=++""-----------------------"-----"---------"------------""----------------------------------------
+ CCC    CCCCC    CC      CCCC CC CCC++.......................+.....+.........+............++........................................
+                                    CC'''''''''''''''''''''''C'''''C'''''''''C''''''''''''CC''''''''''''''''''''''''''''''''''''''''
+                                      XXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXX XXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                      CCCCCCCCCCCCCCCCCCCCCCC CCCCC CCCCCCCCC CCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ----ZZZZZ----ZZZ--ZXAZZZ---M-ZZ-M+++""-----""---"-------------------"------"----""------"--"----"-----"--------"-"-----"------------
+CCCC     CCCC   CC      CCC C  C CCC++.....++...+...................+......+....++......+..+....+.....+........+.+.....+............
+                                    CC'''''CC'''C'''''''''''''''''''C''''''C''''CC''''''C''C''''C'''''C''''''''C'C'''''C''''''''''''
+                                      XXXXX  XXX XXXXXXXXXXXXXXXXXXX XXXXXX XXXX  XXXXXX XX XXXX XXXXX XXXXXXXX X XXXXX XXXXXXXXXXXX
+                                      CCCCC  CCC CCCCCCCCCCCCCCCCCCC CCCCCC CCCC  CCCCCC CC CCCC CCCCC CCCCCCCC C CCCCC CCCCCCCCCCCC
 -----ZZZZ-Z---ZZZ-ZXXZZ-ZZZMM-MM+++"----------------------------------------------"-----"------""--"--""--------"-------------------
+CCCCC    C CCC   C     C     C  CCC+..............................................+.....+......++..+..++........+...................
+                                   C''''''''''''''''''''''''''''''''''''''''''''''C'''''C''''''CC''C''CC''''''''C'''''''''''''''''''
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXX  XX XX  XXXXXXXX XXXXXXXXXXXXXXXXXXX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC CCCCCC  CC CC  CCCCCCCC CCCCCCCCCCCCCCCCCCC
 ------ZZZZZZ---ZZ-ZXXZZ-ZZZM-MMM=++"---------------------------------"--------------------------"--"---------"----------------------
+CCCCCC      CCC  C     C    C   CCC+.................................+..........................+..+.........+......................
+                                   C'''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''C''C'''''''''C''''''''''''''''''''''
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC
 --ZZZ-ZZZZZZ---ZZZZZZZZZZZ-MM-MMM=+------""------------------------------------------------------------------""---------------------
+CC   C      CCC           C  C   CC......++..................................................................++.....................
+                                   ''''''CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC'''''''''''''''''''''
+                                   XXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXX
+                                   CCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCC
 --ZZ---ZZZXZ-Z-ZZ---XXZZZ-----MM-="---"""-----------------"--------------------------------"----"------"------------"---------------
+CC  CCC     C C  CCC     CCCCC  CC+...+++.................+................................+....+......+............+...............
+                                  C'''CCC'''''''''''''''''C''''''''''''''''''''''''''''''''C''''C''''''C''''''''''''C'''''''''''''''
+                                   XXX   XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXX
+                                   CCC   CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCCCCC CCCCCCCCCCCC CCCCCCCCCCCCCCC
 MZ-ZZ--ZZZZZZ-ZZZZZZZZX-------=M=="---"-----------------"---------------------------------------"-----------------------------------
+  C  CC      C         CCCCCCCC CC+...+.................C.......................................+...................................
+                                  C'''C'''''''''''''''''B'''''''''''''''''''''''''''''''''''''''C'''''''''''''''''''''''''''''''''''
+                                   XXX XXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                   CCC CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 M--ZZ---ZZZZ----ZZZ-ZZZ----Z-MM==+"-----------------------------------------------"----------------------------"--------------------
+ CC  CCC    CCCC   C   CCCC C  CCC+...............................................+............................+....................
+                                  C'''''''''''''''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''C''''''''''''''''''''
+                                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC
 M--ZZZ--ZZZZ----ZZ--ZZZ---XZ-M=MM+"-----------------------------------------------"----+"--------------------"------"------"--------
+ CC   CC    CCCC  CC   CCC  C C  C+...............................................+....C+....................+......+......+........
+                                  C'''''''''''''''''''''''''''''''''''''''''''''''C'''' C''''''''''''''''''''C''''''C''''''C''''''''
+                                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX  XXXXXXXXXXXXXXXXXXXX XXXXXX XXXXXX XXXXXXXX
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC  CCCCCCCCCCCCCCCCCCCC CCCCCC CCCCCC CCCCCCCC
 --ZZZZ---ZZZ-Z-ZZ--Z-ZZ-M-ZZ-==M="+"-------------------------------"-------""---------------"----------------""----"-"""--"-----"-""
+CC    CCC   C C  CC C  C C  CCC C+C+...............................+.......++...............+................++....+.+++..+.....+.++
+                                 C C'''''''''''''''''''''''''''''''C'''''''CC'''''''''''''''C''''''''''''''''CC''''C'CCC''C'''''C'CC
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX  XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX  XXXX X   XX XXXXX X
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC  CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC  CCCC C   CC CCCCC C
 M--ZZ-----ZZZ----Z-----M-Z---MM=+++"----------------------------------"+"---------------""-------------------------------"-------"""
+ CC  CCCCC   CCCC CCCCC C CCC  CCCC+..................................+C+...............++...............................+.......+++
+                                   C''''''''''''''''''''''''''''''''''C C'''''''''''''''CC'''''''''''''''''''''''''''''''C'''''''CCC
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC
 ----ZZ----ZZZ----Z---ZZ-ZZZ--M-M+++"-------------------------------"-+""+"-------------------------------------------------------"""
+CCCC  CCCC   CCCC CCC  C   CC C CCC+...............................+.C++C+.......................................................+++
+                                   C'''''''''''''''''''''''''''''''C' CC C'''''''''''''''''''''''''''''''''''''''''''''''''''''''CCC
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -M-----ZZZZZZ--------ZZZZZ---MM=""""------------------------------""-""------------------------------------------------------""--+=+
+C CCCCC      CCCCCCCC     CCC  C++++..............................++.++......................................................++..CCC
+                                CCCC''''''''''''''''''''''''''''''CC'CC''''''''''''''''''''''''''''''''''''''''''''''''''''''CC''
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC
 --M-ZZZZZZZZZZ--ZZZ-ZZZZXZZ-M-==+"+"----------------------------------------"-"--------------------------------------------""+"-"=MM
+CC C          CC   C       C CCCC+C+........................................+.+............................................++C+.+C
+                                 C C''''''''''''''''''''''''''''''''''''''''C'C''''''''''''''''''''''''''''''''''''''''''''CC C'C
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    X
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    C
 --M-ZZZZZZ--ZZZ--ZZZ---Z-ZZM-MM=+"""----------------------------------------------------------------------------------------"=""+MZ-
+CC C      CC   CC   CCC C   C  CC+++........................................................................................+C++C  C
+                                 CCC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C CC
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -Z----ZZZ---ZZZ-Z-ZZ---ZZZZM--M+"""-----------------------------------------------"----------------------------------"""--""++"+M-ZZ
+C CCCC   CCC   C C  CCC     CC C+++...............................................+..................................+++..++CC+C C
+                                CCC'''''''''''''''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''CCC''CC  C
+                                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XX
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CC
 ZZZ----ZZ--ZZZZZ--------ZZX---M+"""---------------------------------"----------------------------------------"-----"""+"---+=""MZZXZ
+   CCCC  CC     CCCCCCCC   CCC C+++.................................+........................................+.....+++C+...CC++
+                                CCC'''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''C'''''CCC C'''  CC
+                                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX     XXX
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC     CCC
 XXZZ--ZZZZ-ZZ-ZZ---Z-M--ZZX--M==++""-------------"---------"--------"------"--------"----------------------=-"""""""+++"""+M="=ZXXAX
+    CC    C  C  CCC C CC   CC CCCC++.............+.........+........+......+........+......................C.+++++++CCC+++C C+C
+                                  CC'''''''''''''C'''''''''C''''''''C''''''C''''''''C'''''''''''''''''''''' 'CCCCCCC   CCC   C
+                                    XXXXXXXXXXXXX XXXXXXXXX XXXXXXXX XXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXX X
+                                    CCCCCCCCCCCCC CCCCCCCCC CCCCCCCC CCCCCC CCCCCCCC CCCCCCCCCCCCCCCCCCCCCC C
 ZXZZZ-Z-ZZZ----Z-Z---M--ZZZ--M-M=+""----------------------------------------------------------"--------------"""""+==M+--"+=+=XXXAXA
+     C C   CCCC C CCC CC   CC C CC++..........................................................+..............+++++CCC C..+CCCC
+                                  CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''''''''CCCCC     ''C
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX          XX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC          CC
 ZZXXZ---ZZZ----Z-----M--ZZZ----M=+="----------------------------------------------------"-------------------"""""+=M=+"--+=+=ZAIIAAA
+     CCC   CCCC CCCCC CC   CCCC CCC+....................................................+...................+++++CC CC+..CCCC
+                                   C''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''''''''''''CCCCC     C''
+                                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX           XX
+                                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC           CC
 ZZXXZZ--ZZZ----Z----MM---Z---MMM+=M+"-------------------"-------------------------------"-------------------"+""""+++"---+++XI=I=III
+      CC   CCCC CCCC  CCC CCC   CC C+...................+...............................+...................+C++++CCC+...CCC
+                                    C'''''''''''''''''''C'''''''''''''''''''''''''''''''C'''''''''''''''''''C CCCC   C'''
+                                     XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX          XXX
+                                     CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC          CCC
 XXAXXZX--ZZ---ZZ-M-M--M-ZZ-M-MM-=+++"------------------------------"------------------"-"-----"-------"-----"-----------"-"-AAXIIIII
+       CC  CCC  C C CC C  C C  CCCCC+..............................+..................+.+.....+.......+.....+...........+.+C
+                                    C''''''''''''''''''''''''''''''C''''''''''''''''''C'C'''''C'''''''C'''''C'''''''''''C'C
+                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX X XXXXX XXXXXXX XXXXX XXXXXXXXXXX X
+                                     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC C CCCCC CCCCCCC CCCCC CCCCCCCCCCC C
 XXXXXXZZZ-ZZZ-Z------ZMM---M-MMM=++="------------------------------------"--------------"--------------"------------------"MM-XZAIIA
+         C   C CCCCCC   CCC C   CCCC+....................................+..............+..............+..................+  C
+                                    C''''''''''''''''''''''''''''''''''''C''''''''''''''C''''''''''''''C''''''''''''''''''C
+                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX
+                                     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC
 XAXXXXXZZZZZZ--ZZ---ZZ-MZXZ---MMM+=+"------------------------------------"--------------"--"--------------------"-----------""==-ZAX
+             CC  CCC  C    CCC   CCC+....................................+..............+..+....................+...........++CCC
+                                    C''''''''''''''''''''''''''''''''''''C''''''''''''''C''C''''''''''''''''''''C'''''''''''CC
+                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX
+                                     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CC CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC
 AAXXXXXZZZZZZ-ZZZZ-ZZ---ZAZ----MM++"""--------------------------------------------------"---"-----------------""+"----""""""""=M=MZX
+             C    C  CCC   CCCC  CC+++..................................................+...+.................++C+....++++++++C C
+                                   CCC''''''''''''''''''''''''''''''''''''''''''''''''''C'''C'''''''''''''''''CC C''''CCCCCCCC
+                                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXX    XXXX
+                                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCCCCCCCC    CCCC
 XAXXXXZZZZZZ--ZZXZZ-ZZZ-ZXZ-M-Z-M=++""-------------------"-----------------------------""-"-----"-------------++""-""+-M++++===MM=ZA
+            CC     C   C   C C C CCC++...................+.............................++.+.....+.............CC++.++CC CCCCCCC  C
+                                    CC'''''''''''''''''''C'''''''''''''''''''''''''''''CC'C'''''C'''''''''''''  CC'CC
+                                      XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X XXXXX XXXXXXXXXXXXX    X
+                                      CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CCCCC CCCCCCCCCCCCC    C
 XAXXXXXZZZZZ--ZZXZ--ZZ--ZZ---ZZ-MM==+"----"----------------------------------------------------------"--------"-"""=M--M--Z-ZZZXXX==
+            CC    CC  CC  CCC  C  CCC+....+..........................................................+........+.+++C CC CC C
+                                     C''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''C'CCC
+                                      XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX X
+                                      CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC C
 XXXXXXXZZZZZZZ-ZZ-------------Z-MMM++"---------------------------------------------------------------"----------++=M=M-M-XZZXXAAAA==
+              C  CCCCCCCCCCCCC C   CC+...............................................................+..........CCC C C C
+                                     C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''''
+                                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX
+                                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC
 ZXZZXZXZX---ZZ-ZZZZ-M-----------MMM+""---------------------------------------------------------------""+"--+==++++++"+""MZXXXXXXXAI=
+         CCC  C    C CCCCCCCCCCC   C++...............................................................++C+..CCCCCCCCC+C++
+                                    CC'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC C''         C CC
+                                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XX
+                                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CC
 XXXAXXXZZ---ZXZ-ZZZZ-M-M-ZZ-----MM-=+""-"----------------------------------------------------------""+++"-"M=+"+--------"+-XAXZZZXAI
+         CCC   C    C C C  CCCCC  CCC++.+..........................................................++CCC+.+ CC+C........+CC
+                                     CC'C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC   C'C   C ''''''''C
+                                       X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      X      XXXXXXXX
+                                       C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      C      CCCCCCCC
 XXAXXXXXZZ---Z-Z-ZZ-------Z------M-M+""---------------------------------------------------"-------""++++--+++"-----+M--=--"-XXZZZXAI
+          CCC C C  CCCCCCC CCCCCC C C++...................................................+.......++CCCC..CCC+.....C CCC..+C
+                                     CC'''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''CC    ''   C'''''     ''C
+                                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX      XX    XXXXX     XX
+                                       CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC      CC    CCCCC     CC
 ZZXZZXXXXZZ----Z-ZZ--Z---ZZZZ-ZZ-MMM+"""---------------------------------------------------------""+=++"--""-------=I  1XM"+-XXXZZXA
+           CCCC C  CC CCC    C  C   C+++.........................................................++CCCC+..++.......C      +CC
+                                     CCC'''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC    C''CC'''''''       C
+                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XX  XXXXXXX
+                                        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CC  CCCCCCC
 -----ZZXZXZ---Z-M---------XZZ--Z-MMM++""---------------------------------------------------------""==+"------------"Z   -=-+MAAAXZXA
+CCCCC      CCC C CCCCCCCCC   CC C   CC++.........................................................++CCC+............+      CC
+                                      CC'''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC   C''''''''''''C
+                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XXXXXXXXXXXX
+                                        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CCCCCCCCCCCC
 MM-MM-ZZZZZ----M-----Z-Z--ZZXZ-M-=MM+++""-------------------------------------------------------"++MM+"--"---"""---+1   -=I-ZI=AAXAA
+  C  C     CCCC CCCCC C CC    C CC  CCC++.......................................................+CC  C+..+...+++...C       C
+                                       CC'''''''''''''''''''''''''''''''''''''''''''''''''''''''C     C''C'''CCC'''
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XX XXX   XXX
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CC CCC   CCC
 MM-M---ZZZ-----M-ZZZ-----ZZ-ZZ-----M=++""--------------------------------------------------------""""-"""""---++M++I- 11IAI+1=IIAAAX
+  C CCC   CCCCC C   CCCCC  C  CCCCC CCC++........................................................++++.+++++...CC CC
+                                       CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC'CCCCC'''
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    X     XXX
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    C     CCC
 MMM----ZZZZ------ZZZ-----ZZZZZZ-----M+="----------------------------------------------------------""+=MZMMM+""-"+==MM-=M-X=11+=IAAAA
+   CCCC    CCCCCC   CCCCC      CCCCC CC+..........................................................++CC     C++.+CCC  CC C
+                                       C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC        CC'C
+                                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX            X
+                                        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC            C
 MM---M-ZZZ-------ZZ----Z----Z---M---M==""------------------------------=--------------------"""++=M-ZZXXXAXXZ-+""---"+MZX+1--1=IAAIA
+  CCC C   CCCCCCC  CCCC CCCC CCC CCC CC++..............................C....................+++CCC C         CC++...+C
+                                       CC'''''''''''''''''''''''''''''' ''''''''''''''''''''CCC                CC'''C
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX                     XXX
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC                     CCC
 MMMM----ZZZ-M---Z--ZZ--ZZ-ZZZZ----M--==+"------------------------"-----=-------------------"""==M-ZZZAXAAAII=IAZIXZAIA+11--- 1+=AAIA
+    CCCC   C CCC CC  CC  C    CCCC CCCCC+.......................C+.....C...................+++CC C
+                                        C''''''''''''''''''''''' C''''' '''''''''''''''''''CCC
+                                         XXXXXXXXXXXXXXXXXXXXXXX  XXXXX XXXXXXXXXXXXXXXXXXX
+                                         CCCCCCCCCCCCCCCCCCCCCCC  CCCCC CCCCCCCCCCCCCCCCCCC
 MMMM-M---ZZ-M--Z---ZZ---Z---ZXZ---MMMM=+"----------------------Z"------=-------------------="+=MM-ZXXXAIII======+==+111---- -1+IAAIA
+    C CCC  C CC CCC  CCC CCC   CCC    CC+...................... +......C...................C+CC  C
+                                        C'''''''''''''''''''''' C'''''' ''''''''''''''''''' C
+                                         XXXXXXXXXXXXXXXXXXXXXX  XXXXXX XXXXXXXXXXXXXXXXXXX
+                                         CCCCCCCCCCCCCCCCCCCCCC  CCCCCC CCCCCCCCCCCCCCCCCCC
 =MMMMM--ZZZ-M-------------M-ZZZ------M++"-"-------------------"--------+--------------------"==M-ZXAAAIII==++1++111111- -   -1+=II=I
+C     CC   C CCCCCCCCCCCCC C   CCCCCC CC+.+...................+C.......C....................+CC C
+                                        C'C'''''''''''''''''''C ''''''' ''''''''''''''''''''C
+                                         X XXXXXXXXXXXXXXXXXXX  XXXXXXX XXXXXXXXXXXXXXXXXXXX
+                                         C CCCCCCCCCCCCCCCCCCC  CCCCCCC CCCCCCCCCCCCCCCCCCCC
 =MMM---ZZZZ-M--Z-----M------ZZZ------M++"--------------------------"-----------------------"+==--ZXAAAII==++1-11------      -1=IIIII
+C   CCC    C CC CCCCC CCCCCC   CCCCCC CC+..........................+.......................+CCCCC
+                                        C''''''''''''''''''''''''''C'''''''''''''''''''''''C
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC
 =M-----ZZXXZZ--Z------------ZZZ--Z---M=""-"----------"-----------------------"-------------"+==--ZXAXAIII=+1-- -             1=IIIAA
+C CCCCC      CC CCCCCCCCCCCC   CC CCC C++.+..........C.......................+.............+CCCCC
+                                       CC'C''''''''''B'''''''''''''''''''''''C'''''''''''''C
+                                         X XXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX
+                                         C CCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC
 =MM----ZZZZZ-MM--------M-MM--ZZZZZZ-M==+"--------------------------------------------------""+=M-ZXXAAIII==11--              -=IAAAX
+C  CCCC     C  CCCCCCCC C  CC      C CCC+..................................................++CC C
+                                        C''''''''''''''''''''''''''''''''''''''''''''''''''CC
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 =MMMM---ZXZZ-MM-----Z-----MM---ZZZZ-M==++-----------------------------------------------"--"-"+M-ZZXXIAII==++1-              1+IXXXZ
+C    CCC    C  CCCCC CCCCC  CCC    C CCCC...............................................+..+.+C C
+                                         '''''''''''''''''''''''''''''''''''''''''''''''C''C'C
+                                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX X
+                                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC C
 MMMMM---ZXZZMM--MMM-ZZ----MMM--ZZZZ-M==++"-------------------------"-----------------------""""=--ZZXAIII===+++--            1+XZZZ-
+     CCC      CC   C  CCCC   CC    C CCCC+.........................+.......................++++CCC                                 C
+                                         C'''''''''''''''''''''''''C'''''''''''''''''''''''CCCC
+                                          XXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX
+                                          CCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC
 MMMMMM---ZZ-Z-M--MM--Z-M----M-XX----MM==++----------------------------------------------""""++++M-ZXAAIIII==++11-           -1IZ-ZZ-
+      CCC  C C CC  CC C CCCC C  CCCC  CCCC..............................................++++CCCC C                              C  C
+                                          ''''''''''''''''''''''''''''''''''''''''''''''CCCC
+                                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                          CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ===MMMMM-ZZZ-----MMM---MMZZ----Z-----MM=+""---------------------------------""""---------""+++=+=--ZXXAIII===+11-           -+A---ZZ
+CCC     C   CCCCC   CCC    CCCC CCCCC  CC++.................................++++.........++CCCCCCCC                            CCC
+                                         CC'''''''''''''''''''''''''''''''''CCCC'''''''''CC
+                                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXXXX
+                                           CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCCCC
 ===MMMMM-ZZZ-Z---MMM---M--ZZ---Z---Z-M=M="-------------------------""-------""+"---------""++++++M-ZXXAAAII==++1--          -=Z-ZZZZ
+CCC     C   C CCC   CCC CC  CCC CCC C C C+.........................++.......++C+.........++CCCCCC C                            C
+                                         C'''''''''''''''''''''''''CC'''''''CC C'''''''''CC
+                                          XXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXX    XXXXXXXXX
+                                          CCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCC    CCCCCCCCC
 ==MMMMMM-ZZZ-ZZ--MM-M--M--Z----ZZ----M==+"------------------------""""++++"""++"----------"++++""M-ZXXAAIII====11----      --IZZZXXX
+CC      C   C  CC  C CC CC CCCC  CCCC CCC+........................++++CCCC+++CC+..........+CCCC++ C
+                                         C''''''''''''''''''''''''CCCC    CCC  C''''''''''C    CC
+                                          XXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXXX
+                                          CCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCCC
 =MMMMM---Z--ZZZ--M---MMM--ZZ--ZZZZZ--M==++"""-""------------------"+=MMM=++""++""------"-""++++""MZZXXXAAI===+++11--      --1AZ-ZXZ-
+C     CCC CC   CC CCC   CC  CC     CC CCCC+++.++..................+CC   CCC++CC++......+.++CCCC++                              C   C
+                                          CCC'CC''''''''''''''''''C        CC  CC''''''C'CC    CC
+                                             X  XXXXXXXXXXXXXXXXXX               XXXXXX X
+                                             C  CCCCCCCCCCCCCCCCCC               CCCCCC C
 =MMMM=M----Z--ZZ-------M---Z--ZZ-Z--MM=+++"++-""-----------------"""+++==+++++=+"--------"""++"-+-ZZXXXAAIII==+++111--     -+AXZ---M
+C    C CCCC CC  CCCCCCC CCC CC  C CC  CCCC+CC.++.................+++CCCCCCCCCCCC+........+++CC+.CC                              CCC
+                                          C  'CC'''''''''''''''''CCC            C''''''''CCC  C'
+                                             X  XXXXXXXXXXXXXXXXX                XXXXXXXX      X
+                                             C  CCCCCCCCCCCCCCCCC                CCCCCCCC      C
 =MMMMM----------MM-----MMMM---ZZ-Z--MMM++""=+""""----------------"+++===-=++====+"--------""++"-=-ZZXXAAAAII==++1+1----   --1=IAXZZ-
+C     CCCCCCCCCC  CCCCC    CCC  C CC   CC++CC++++................+CCCCCCCCCCCCCCC+........++CC+.CC                                 C
+                                         CC  CCCC''''''''''''''''C               C''''''''CC  C'
+                                                 XXXXXXXXXXXXXXXX                 XXXXXXXX     X
+                                                 CCCCCCCCCCCCCCCC                 CCCCCCCC     C
 =MMMMM---------MMM-----M--MMM--Z--MMM-M++""Z+""""-----------------+=====M========+--------""""-+-ZZZXZXXAAAI===++1--1-1--- -1+==IAAX
+C     CCCCCCCCC   CCCCC CC   CC CC   C CC++ C++++.................CCCCCC CCCCCCCCC........++++.CC
+                                         CC  CCCC'''''''''''''''''                ''''''''CCCC'
+                                                 XXXXXXXXXXXXXXXXX                XXXXXXXX    X
+                                                 CCCCCCCCCCCCCCCCC                CCCCCCCC    C
 ====MM---M-Z--M-----M--MMMMMM-----MMMM-+++=X""""-----------------""====M=MMM===M==+-----"-"---+-ZZ-ZZXAAAI=I===+==-111-------11+IIII
+CCCC  CCC C CC CCCCC CC      CCCCC    CCCCC ++++.................++CCCC C   CCC CCC.....+.+...CC  C
+                                            CCCC'''''''''''''''''CC                '''''C'C'''
+                                                XXXXXXXXXXXXXXXXX                  XXXXX X XXX
+                                                CCCCCCCCCCCCCCCCC                  CCCCC C CCC
 +==MM=MMMMM------MMMMMM-MMM=MM----MMMMM+"MXX"--------------------"++===MMMMMM=MMMM="--------"+--ZZZXXXXAAAAAAIII===+++1-----1++==III
+CCC  C     CCCCCC      C   C  CCCC     C+   +....................+CCCCC      C    C+........+CCC
+                                        C   C''''''''''''''''''''C                 C''''''''C
+                                             XXXXXXXXXXXXXXXXXXXX                   XXXXXXXX
+                                             CCCCCCCCCCCCCCCCCCCC                   CCCCCCCC
 +==MMMM-MMM------MMMMM--MM====---M==+=+"=XXX"--------------------"+++==MMMMMMMMMMMM++""""--+M-ZZZZZZZXXXXAAAIIIII===++11---111+==I==
+CCC    C   CCCCCC     CC  CCCCCCC CCCCC+C   +....................+CCCCC            CC++++..C C
+                                       C    C''''''''''''''''''''C                   CCCC''
+                                             XXXXXXXXXXXXXXXXXXXX                        XX
+                                             CCCCCCCCCCCCCCCCCCCC                        CC
 ==MMMMM--M--Z--Z-M=MMM--MM=====MMM++++""ZXX----------------------""+====MMMMMMMMMMM=+=MM===--ZZZZZZXXXXXAAAAIIIII==+++11-1111+++=I==
+CC     CC CC CC C C   CC  CCCCC   CCCC++   C.....................++CCCCC           CCC  CCCCC
+                                      CC    '''''''''''''''''''''CC
+                                            XXXXXXXXXXXXXXXXXXXXX
+                                            CCCCCCCCCCCCCCCCCCCCC
 =MMMMM--M-ZZ-ZZZZ--MMMM-MM==++++==+++""MXAXM-------------------"--"++===MMMMMMMM-M--M=MMMM---ZZ-ZZZXXXXXAAAIIIII===-++11111111+====+
+C     CC C  C    CC    C  CCCCCCCCCCC++     ...................+..+CCCCC        C CC C    CCC  C
+                                     CC     '''''''''''''''''''C''C
+                                            XXXXXXXXXXXXXXXXXXX XX
+                                            CCCCCCCCCCCCCCCCCCC CC
 ==MMMMMMM--M--Z----MM=MMMMMM=+"""+"""-+XXXX+-------------"-------""+++=MMMMM--Z--MMMMMMMM-M--ZZZZXZZXXXXAXAAA=II===+ ++1++=+++=+===I
+CC       CC CC CCCC  C      CC+++C+++.C    C.............+.......++CCCC     CC CC        C CC
+                              CCC CCC'      '''''''''''''C'''''''CC
+                                     X      XXXXXXXXXXXXX XXXXXXX
+                                     C      CCCCCCCCCCCCC CCCCCCC
 ==M=MM--M-MM-ZZ--M-M====MM=M=+""""""-+XAXXX"-------------""------"+===M--M--MMMMM-MMMMMM---Z-Z-ZZZXZXXXXXXAAAIII==++1++++====+==AIAX
+CC C  CC C  C  CC C CCCC  C CC++++++.C     +.............++......+CCCC CC CC     C      CCC C C
+                              CCCCCC'      C'''''''''''''CC''''''C
+                                    X       XXXXXXXXXXXXX  XXXXXX
+                                    C       CCCCCCCCCCCCC  CCCCCC
 +=M==M-M-MMM-Z--MMMMM=====++=+"""""--ZAAAXZ"-------------""--"""-""++==MMMMMMM==MMM-MM-M-Z-ZZ-ZZXZZZXXXXXAAIAIII=+++++1=====IIAXZZZX
+CC CC C C   C CC     CCCCCCCCC+++++..      +.............++..+++.++CCCC       CC   C  C C C  C
+                              CCCCC''      C'''''''''''''CC''CCC'CC
+                                   XX       XXXXXXXXXXXXX  XX   X
+                                   CC       CCCCCCCCCCCCC  CC   C
 +MMMM=MMM=MM-Z-M--M+======+++"""""--=AIAAXZ--------"=--M+=++""-----"++==MMMMMMMMM-M----M-ZZZZZXZZXZXXXAXXAAXII===+1+111+==IAZ-==MZMA
+C    C   C  C C CC CCCCCCCCCC+++++..C      ........+C.. CCCC++.....+CCCC         C CCCC C                                    CCC
+                             CCCCC''       ''''''''C ''     CC'''''C
+                                  XX       XXXXXXXX  XX       XXXXX
+                                  CC       CCCCCCCC  CC       CCCCC
 +=M=MMM==MMM-----Z-==M===+"++"""-----AAAAAM--------=-""M++===+"----"+===M=MMM-MM=M-------Z-ZXZZZZZZXXXXXXAAAAII===+++11++=IIA-Z-XZZA
+CC C   CC   CCCCC CCC CCCC+CC+++....C      ........CC++ CCCCCC+....+CCCC C   C  C CCCCCCC C                                  C C
+                          C  CCC''''       ''''''''  CC       C''''C
+                                XXXX       XXXXXXXX            XXXX
+                                CCCC       CCCCCCCC            CCCC
 +=M=MM=MMMMMM----MM==M++=""+"""+---"XXAAAA=------------"+=MMMM=+"--""===MMMMMMMMM=MM-----Z-ZZZZZXXXZZZXXXXAAAII====++1++==II=++=+=+1
+CC C  C      CCCC  CC CCC++C+++C...+      C............+CC    CC+..++CCC         C  CCCCC C
+                         CC CCC '''C       ''''''''''''C        C''CC
+                                XXX        XXXXXXXXXXXX          XX
+                                CCC        CCCCCCCCCCCC          CC
 +====MMM===MM----M====+++""""--"---=XXAAAA+--"---------"+=M-----=--""+===MMMMMMMMM=M-----Z-ZZZZZXXXZZXXXXAAAAIIIII==1++++=III===++1-
+CCCCC   CCC  CCCC CCCCCCC++++..+...C      C..C.........+CC CCCCCC..++CCCC         C CCCCC C
+                         CCCC''C'''        ''B'''''''''C         ''CC
+                             XX XXX        XXHXXXXXXXXX          XX
+                             CC CCC        CCXCCCCCCCCC          CC
 ++=M==MM==M=M-Z---MM===+=+"""--"--"ZXAAAAA+------------+=---ZZZZ---""+=+=MM--MM---M=-----ZZZZXZZXZXXXXXXXAAAAAAIII===++=+=IIAAAAI=I=
+CCC CC  CC C C CCC  CCCCCC+++..+..+       C............CCCCC    C..++CCCC  CC  CCC CCCCCC
+                          CCC''C''C        ''''''''''''          ''CC
+                             XX XX         XXXXXXXXXXXX          XX
+                             CC CC         CCCCCCCCCCCC          CC
 ++==========M--ZZ--M===++""-------+XAAAIIX"-----------"+M-ZZZXAXZ"-"++====M-M-----MM==-----ZZZZZXZXXXXXZZXXAAAIAAIII======IIAXZZZXAI
+CCCCCCCCCCCC CC  CC CCCCC++.......C       +...........+C C       +.+CCCCCC C CCCCC  CCCCCCC
+                         CC'''''''        C'''''''''''C          C'C
+                           XXXXXXX         XXXXXXXXXXX            X
+                           CCCCCCC         CCCCCCCCCCC            C
 ++=====MM==MM-ZZZ-M=+++""""-------MXAIAIIX"-----------"=-ZAAAAAAX"-"++====M-M---M---M=M----ZZZZZZZXXXXXXXXXAAAAAAIII=====IIIIAXZ--ZZ
+CCCCCCC  CC  C   C CCCC++++.......        +...........+CC        +.+CCCCCC C CCC CCC C CCCC                                     CC
+                       CCCC'''''''        C'''''''''''C          C'C
+                           XXXXXXX         XXXXXXXXXXX            X
+                           CCCCCCC         CCCCCCCCCCC            C
 "++++======MMMZZZM=+++""-+"-------ZIIAAAIA"----------"+-ZXIIIIIIX+-"++====MMM--MMM-MM-MMM-----ZZZZZZZZXXXXXXXAAAAIIIIII=IIIIIIAXZ---
++CCCCCCCCCC       CCCC++.C+.......        +..........+CC         C.+CCCCCC   CC   C  C   CCCCC                                   CCC
+C                     CC' C'''''''        C''''''''''C            'C
+                        X  XXXXXXX         XXXXXXXXXX             X
+                        C  CCCCCCC         CCCCCCCCCC             C
 +++=+===+===M==MM+=MMM="-""------+IIAAAAIA"----------"MXII=II==+A"-"++=M=MMMMMM-M---M---M=M--M-ZZZZZZZZXXZXXXZXXAAAAIIIIIIIIIAAAXZXA
+CCCCCCCCCCCC CC  CC   C+.++......C        +..........+           +.+CCC C      C CCC CCC C CC C
+                       C'CC''''''         C''''''''''C           C'C
+                        X  XXXXXX          XXXXXXXXXX             X
+                        C  CCCCCC          CCCCCCCCCC             C
 ++++======MMM========++"""-------+IIAAIA=I"----------=-AI====+++X--"+==M=M==MMM-M----MM-MMMMMM--ZZZZZZZZZXXXXXXXXXAAIIIIIIIIIIIIIIII
+CCCCCCCCCC   CCCCCCCCCC+++.......C        +..........CC          ..+CCC C CC   C CCCC  C      CC
+                       CCC'''''''         C''''''''''            ''C
+                          XXXXXXX          XXXXXXXXXX            XX
+                          CCCCCCC          CCCCCCCCCC            CC
 +++==+++==MM===M==++++"--"-------=IIIIIIII+----------=XI++11111=-"-"+===MMM===MMMMMMMMMMMMMMMMMM-ZZZZZZZZXXXXXXXXXAAIIIIIIAII===+=1-
+CCCCCCCCCC  CCC CCCCCC+..+.......C        C..........C          C+.+CCCC   CCC                  C
+                      C''C'''''''          ''''''''''            C'C
+                       XX XXXXXXX          XXXXXXXXXX             X
+                       CC CCCCCCC          CCCCCCCCCC             C
 ++=M==++++M++++==++""-"-"--------MIIIIII==M---"------MA=1-----1A+--"++======M===MMMMMMM-MMMMM=M==M--Z---ZZZXZXXXZXXAAAIIIIII===111
+CCC CCCCCC CCCCCCCC++.+.+........          ...C......           C..+CCCCCCCC CCC       C     C CC CC CCC
+                   CC'C'C''''''''          '''B''''''            ''C
+                     X X XXXXXXXX          XXXHXXXXXX            XX
+                     C C CCCCCCCC          CCCXCCCCCC            CC
 "++====++++"+"+=M=+"""--"---------IIII=I==-----------M=1--  - 1X"-""++===MMMMM===MMMMMMM-M-MMMM====M-Z---ZZZZZZZXXXXXAAIIII==++1--
++CCCCCCCCCC+C+CC CC+++..+........C        C..........           +.++CCCCC     CCC       C C    CCCC C CCC
+C          C C     CCC''C''''''''          ''''''''''           C'CC
+                      XX XXXXXXXX          XXXXXXXXXX            X
+                      CC CCCCCCCC          CCCCCCCCCC            C
 +"+++===+"++"""+=++""""-----------=I==II==A----------=1--     ==--"++=====M==M=M====MM=MMMM-MM=====++=MMM-ZXZZZZZZZXXXAAIII==++111--
+C+CCCCCCC+CC+++CCCC++++..........C         ..........C         C..+CCCCCCC CC C CCCC  C    C  CCCCCCCC   C
+ C       C  CCC    CCCC''''''''''          ''''''''''           ''C
+                       XXXXXXXXXX          XXXXXXXXXX           XX
+                       CCCCCCCCCC          CCCCCCCCCC           CC
 +++++++++"++"""+=+""""-----------Z=II====+="---------+1       A"-+++====MMMMMMMM=====MMMMMMMMMM======++==M-ZZZZZZZZXZXXXAAIIII=+1+11
+CCCCCCCCC+CC+++CCC++++...........          +.........C         +.CCCCCCC        CCCCC          CCCCCCCCCC C
+         C  CCC   CCCC'''''''''''          C'''''''''          C'
+                      XXXXXXXXXXX           XXXXXXXXX           X
+                      CCCCCCCCCCC           CCCCCCCCC           C
 +""+++++""""""""=++""-------------=I===+++1M---------"=      1---==+=====MMMM-MM==M=MM==MMMMMMM=M======+++=MM------ZZXZZXXXXAAI=====
+C++CCCCC++++++++CCC++............C          .........+        C..CCCCCCCC    C  CC C  CC       C CCCCCCCCCC  CCCCCC
+ CC     CCCCCCCC   CC''''''''''''           '''''''''C         ''
+                     XXXXXXXXXXXX           XXXXXXXXX          XX
+                     CCCCCCCCCCCC           CCCCCCCCC          CC
 +""++++"-"""""""""+Z"------------Z=I==++11-A----------I      I"-"++===MMMMM-M----MMMM==M=M=M==MMMM======+++++==MM-------ZZZZZXXAAIIA
+C++CCCC+.+++++++++C +............           ..........        +.+CCCCC     C CCCC    CC C C CC    CCCCCCCCCCCCC  CCCCCCC
+ CC    C'CCCCCCCCC  C''''''''''''           ''''''''''        C'C
+        X            XXXXXXXXXXXX           XXXXXXXXXX         X
+        C            CCCCCCCCCCCC           CCCCCCCCCC         C
 """++++""---"-"--""---------------====++11-1"---------Z     --"-"++====MM-M-------MMMMMM===M==M==M===+=++++++"+====MMM----M-Z-ZZXZXZ
++++CCCC++...+.+..++..............C          +.........       C+.+CCCCCC  C CCCCCCC      CCC CC CC CCCCCCCCCCC+CCCCC   CCCC C C
+CCC    CC'''C'C''CC''''''''''''''           C'''''''''        C'C                                            C
+         XXX X XX  XXXXXXXXXXXXXX            XXXXXXXXX         X
+         CCC C CC  CCCCCCCCCCCCCC            CCCCCCCCC         C
 +"""+"+""-------------------------=++++1--  =----------     ++"""=+===MMMM-M--Z-Z--MMMMM===M===========++++"+++++"+==MMMMMMMMMMMMM--
+C+++C+C++........................C          C.........C      C+++CCCCC    C CC C CC     CCC CCCCCCCCCCCCCCC+CCCCC+CCC             CC
+ CCC C CC''''''''''''''''''''''''            '''''''''        CCC                                          C     C
+         XXXXXXXXXXXXXXXXXXXXXXXX            XXXXXXXXX
+         CCCCCCCCCCCCCCCCCCCCCCCC            CCCCCCCCC
 """""""""------------------------M=+++1---  X----------    -Z--"++======MM----ZZZ-ZZ--MMMM=M=======++++=+++++++++++==MZXAZZZZ-Z-ZXXX
++++++++++........................            .........C      ..+CCCCCCCC  CCCC   C  CC    C CCCCCCCCCCCCCCCCCCCCCCCCC        C C
+CCCCCCCCC''''''''''''''''''''''''            '''''''''       ''C
+         XXXXXXXXXXXXXXXXXXXXXXXX            XXXXXXXXX       XX
+         CCCCCCCCCCCCCCCCCCCCCCCC            CCCCCCCCC       CC
 ""-""-""--"----------------"-----M=+1+1-    1---------M    ++-""+======MMM----ZXXZZ-XXZZ--MM=========+=++++++++++++=-ZXIIIAAIIIIAIII
+++.++.++..+................C.....            .........      C.++CCCCCCC   CCCC     C    CC  CCCCCCCCCCCCCCCCCCCCCCCCC
+CC'CC'CC''C''''''''''''''''B'''''            '''''''''       'CC
+  X  X  XX XXXXXXXXXXXXXXXXHXXXXX            XXXXXXXXX       X
+  C  C  CC CCCCCCCCCCCCCCCCXCCCCC            CCCCCCCCC       C
 """------------------------------M=+11--     +--------+    Z--"++=======MM--ZZZZZZXXXXXXXZZZ-M=====++=+++++++++++=M-ZXIIAAAAAAIIIIII
++++..............................            C........C     ..+CCCCCCCCC  CC                C CCCCCCCCCCCCCCCCCCCC C
+CCC''''''''''''''''''''''''''''''             ''''''''      ''C
+   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXX      XX
+   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCC      CC
 """------------------------------=+1+1-      ---------+   ++--"++===+====M----ZXXXXXAAAAAAXAXZ-MM=====+++++"+++++=-ZXAIIAXAAAAIIIIII
++++..............................C           C........C    C..+CCCCCCCCCC CCCC                C  CCCCCCCCCC+CCCCCCC
+CCC''''''''''''''''''''''''''''''             ''''''''      ''C                                            C
+   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXX      XX
+   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCC      CC
 --"------------------------------=111--      A--------=   ----"+=+=====MMM---ZZZXXAAAAIIIIAIAAXXZ-M===++"++"++++=-ZXXIIIXAAAAAAIIIII
+..+..............................C            ........C   C...+CCCCCCCC   CCC                    C CCCCC+CC+CCCCCC
+''C''''''''''''''''''''''''''''''             ''''''''     '''C                                         C  C
+XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXX     XXX
+CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCC     CCC
 ------------------------------""-+11--        "-------=  +"-""+=+=+====MMM---ZZAXXXAAIAAIIII=IIIIAAZ-M=++++"++==M-ZXAIIAXXXXAXAA=AIA
+..............................++.C            +.......C   +.++CCCCCCCCC   CCC                       C CCCCC+CCCC C
+''''''''''''''''''''''''''''''CC'             C'''''''    C'CC                                             C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X              XXXXXXX     X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C              CCCCCCC     C
 ------------------------------"++=+---        =--------  Z---"+++++====MMMM--ZZXXXXXAAAAIII=IIIII=IIAZZMM=+++==M--ZXXXXXXXXAXXAAIAII
+..............................+CCC            C.......C   ...+CCCCCCCCC    CC                            CCCCCC CC
+''''''''''''''''''''''''''''''C                '''''''    '''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                 XXXXXXX    XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                 CCCCCCC    CCC
 -------------------------------""++---        Z-------X 1"---"=+=++===MMMM--ZZZZXXXXAAAAIAIIIIIIIIIIIAAXXZMMMMM--Z-ZZZZXXXAAAAIAIIII
+...............................++C             .......   +...+CCCCCCCC    CC                                   CC C
+'''''''''''''''''''''''''''''''CC              '''''''   C'''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                XXXXXXX    XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                CCCCCCC    CCC
 -----+----------------------------I  -        +-------A-----""++==+=====MMM-ZZZZZZXXAAAAAAAAAAIAAAXXXXXZZ-----ZZZZZZZXXXAAAAAIIII===
+.....C............................             .......  C...++CCCCCCCCCC   C                             CCCCC
+''''' ''''''''''''''''''''''''''''             '''''''   '''CC
+XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXX   XXX
+CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCC   CCC
 "-------"-------------------------X            -------X="---"+=+++=+===MMMMM--ZZZZXXXAXXXAAAAAAXXXZZ----ZZZ-ZZZZZZXXXXXAAAAIII===I+=
++.......C.........................             .......  +...+CCCCCCCCCC     CC                      CCCC   C
+C'''''''B'''''''''''''''''''''''''             '''''''  C'''C
+ XXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXX   XXX
+ CCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCC   CCC
 ----------------------------------M            +------------"++++++=====MMM--M--ZZZZZXXXAXXXXXXXZXZZ-------ZZZZZZXXXXAAAAAAII=I==+=+
+..................................             C......CC....+CCCCCCCCCCC   CC CC                    CCCCCCC
+''''''''''''''''''''''''''''''''''              ''''''  ''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXX  XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCC  CCCC
 --------"-------------------------+-           -------M+---""+++++++=====M=M----ZZZZZXXXXXXXXZZZZZ-Z-----ZZZZZZZZXXXAAAAAAIIIII==+++
+........+.........................C            C...... C...++CCCCCCCCCCCC C CCCC                  C CCCCC
+''''''''C'''''''''''''''''''''''''              ''''''  '''CC
+XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXX  XXX
+CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCC  CCC
 ----------------------------------"1           I------=---"""++++++======M=MM-----ZZ-ZZXXZZZZ-Z--------Z-ZZZZZZXZXXXAAAAIAIIII===+++
+..................................+             ......C...+++CCCCCCCCCCCC C  CCCCC  C        C CCCCCCCC C
+''''''''''''''''''''''''''''''''''C             '''''' '''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXX XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCC CCC
 -----------------------------------=            "-----"----"""++=++=++======MM-----ZZZZZXZZ------------ZZZZZZZXXXXAAAAAAIII=I=====++
+...................................             +.....+....+++CCCCCCCCCCCCCC  CCCCC        CCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''             C'''''C''''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXX XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCC CCCC
 -----------------------------------X            +-----------"""+++====+======MMM-----ZZZZXZ---MM--Z--Z-Z---ZZZZXXXXXAAAIIII=II===+++
+...................................             C...........+++CCCCCCCCCCCCCC   CCCCC      CCC  CC CC C CCC
+'''''''''''''''''''''''''''''''''''              '''''''''''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCCCC
 -----------------------------------M            =-----------"""++++=========M=MM----ZZZZXA--------Z---ZZ--ZZZZZZXXXXAAAIIIIIII=+=+++
+...................................             C...........+++CCCCCCCCCCCCC C  CCCC      CCCCCCCC CCC  CC
+'''''''''''''''''''''''''''''''''''              '''''''''''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCCCC
 -----------------------------------+            Z----------""""++++====+====MMMM---ZZZZZZ---------Z---Z----ZZZZZZXXXAAIIIII=====++++
+...................................C             ..........++++CCCCCCCCCCCCC    CCC      CCCCCCCCC CCC CCCC
+'''''''''''''''''''''''''''''''''''              ''''''''''CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCCC
 ----"------------------------------"-           I---------""-"+""++==+======M-MM--Z-ZZZZZZZ-----ZZ--ZZZ--ZZ-ZZZXXXXXAAAIIIII==++++1+
+....+..............................+             .........++.+C++CCCCCCCCCCC C  CC C       CCCCC  CC   CC  C
+''''C''''''''''''''''''''''''''''''C             '''''''''CC'C CC
+XXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXX  X
+CCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCC  C
 --------------"--------------------"A           -"----------"-""+++++++=====MM-----ZZZZZZZ----ZZ-ZZ-Z-Z-ZZXXZZZZZXXXAAAAIII======+++
+..............+....................+             +..........+.++CCCCCCCCCCCC  CCCCC       CCCC  C  C C C
+''''''''''''''C''''''''''''''''''''C             C''''''''''C'CC
+XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX               XXXXXXXXXX X
+CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCC               CCCCCCCCCC C
 -----------------------------------"-            "------------""++++========M------ZZZZZZZ--Z----ZZ-Z---ZZZZZZZZZXXXAAAAIII=I====+++
+...................................+C            +............++CCCCCCCCCCCC CCCCCC       CC CCCC  C CCC
+'''''''''''''''''''''''''''''''''''C             C''''''''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX               XXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               CCCCCCCCCCCC
 -"----------------------------------+            +-----------"+"++++=+====M-X-------ZZZZZZ-------Z--Z-ZZZZZZZZZZXXXXXAAAAAII====++++
+.C..................................C            C...........+C+CCCCCCCCCC C CCCCCCC      CCCCCCC CC C
+'B''''''''''''''''''''''''''''''''''              '''''''''''C C
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XXXXXXXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CCCCCCCCCCC
 --------------------""--------------"            M----------"-+++++=MMM==MMM----Z--ZZZZZZZ--ZZ-ZZZZZZZZXZXZXXXZZZXXXAAAAAII====+++++
+....................++..............+             ..........+.CCCCCC   CC   CCCC CC       CC  C
+''''''''''''''''''''CC''''''''''''''C             ''''''''''C'
+XXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXX              XXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCC              CCCCCCCCCC C
 -----------"------------------+------+           -----------""=++++======MMM--------ZZ-ZZ------ZZZZZ-ZZZZXZZXZZZXXXXXAAAIIIII==+===+
+...........C..................C......            C..........++CCCCCCCCCCC   CCCCCCCC  C  CCCCCC     C
+'''''''''''B'''''''''''''''''' ''''''             ''''''''''CC
+XXXXXXXXXXXHXXXXXXXXXXXXXXXXXX XXXXXX             XXXXXXXXXX
+CCCCCCCCCCCXCCCCCCCCCCCCCCCCCC CCCCCC             CCCCCCCCCC
 ------------------------------=------X           X--"-------""++++===M=MMMMM--------ZZ-ZZ-------ZZZZZZZZZZXZXZZZZXXXAAAAIII==I=====+
+..............................C......             ..+.......++CCCCCCC C     CCCCCCCC  C  CCCCCCC
+'''''''''''''''''''''''''''''' ''''''             ''C'''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX             XX XXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC             CC CCCCCCC
 ----------"----"---------------------M           I----------""++++===M=MMMMM--M------------Z-----ZZZ--ZZZZXZZXXZZXXXXAAAAAIIIIII==++
+..........C....C.....................             ..........++CCCCCCC C     CC CCCCCCCCCCCC CCCCC   CC
+''''''''''B''''B'''''''''''''''''''''             ''''''''''CC
+XXXXXXXXXXHXXXXHXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXX
+CCCCCCCCCCXCCCCXCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCC
 ---------"---------------------------+           1-----------"+++==MMMM-MMMM----Z----------Z----ZZZ-ZZZZ-ZZZXZZZZXZXAXAAIAIII=III===
+.........C...........................C            ...........+CCCCC    C    CCCC CCCCCCCCCC CCCC   C    C
+'''''''''B'''''''''''''''''''''''''''             '''''''''''C
+XXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXXX
+CCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCCC
 -"-------------------------------------          ------------"++==MMMMM-MMMM----------------------ZZ--ZZZZZZZZZZZZZXXXXAAAAAIII=I===
+.C....................................            ...........+CCCC     C    CCCCCCCCCCCCCCCCCCCCCC  CC
+'B''''''''''''''''''''''''''''''''''''            '''''''''''C
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX            XXXXXXXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC            CCCCCCCCCCC
 --"------"----------------------------I           "----------"++=MMMMMMMMM-----------M----M--M----Z-------ZZZZZZZZZZXXAAAAAAIAAIII==
+..C......C............................            +..........+CCC         CCCCCCCCCCC CCCC CC CCCC CCCCCCC
+''B''''''B''''''''''''''''''''''''''''            C''''''''''C
+XXHXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXX
+CCXCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCC
 "-"-----------+-----------------------Z           "----------"+==MMMMMMMMMMM-M--M----MM---M--M----Z---------ZZZZZZZZXXXAXAXAAAAIIIII
+C.C...........C.......................            +..........+CCC           C CC CCCC  CCC CC CCCC CCCCCCCCC
+B'B''''''''''' '''''''''''''''''''''''            C''''''''''C
+HXHXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXX
+XCXCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCC
 -----------"--"---"-----------"-------+           =----------+=MM---MMMMMMMMM----M-----------------M--------ZZZ-ZZZZXXXXXXAAAAAIAIII
+...........C..+...+...........C.......C           C..........CC  CCC         CCCC CCCCCCCCCCCCCCCCC CCCCCCCC   C
+'''''''''''B''C'''C'''''''''''B'''''''             ''''''''''
+XXXXXXXXXXXHXX XXX XXXXXXXXXXXHXXXXXXX             XXXXXXXXXX
+CCCCCCCCCCCXCC CCC CCCCCCCCCCCXCCCCCCC             CCCCCCCCCC
 ---"--"--"--------+--------"----------"           =-----"---""=MMM--MMMMMMMMMM-----------M----M-----M------Z----ZZXXXXAXXXAAAAAAAAII
+...C..C..C........C........C..........+           C.....C...++C   CC          CCCCCCCCCCC CCCC CCCCC CCCCCC CCCC
+'''B''B''B'''''''' ''''''''B''''''''''C            '''''B'''CC
+XXXHXXHXXHXXXXXXXX XXXXXXXXHXXXXXXXXXX             XXXXXHXXX
+CCCXCCXCCXCCCCCCCC CCCCCCCCXCCCCCCCCCC             CCCCCXCCC
 --------------------------------------"+          M---"-----"+=M-MMMMMMMMMM-M-------------------M--M---M-----Z--ZZZXXXAXXAAAAAAAAAII
+......................................+            ...C.....+CC C          C CCCCCCCCCCCCCCCCCCC CC CCC CCCCC CC
+''''''''''''''''''''''''''''''''''''''C            '''B'''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXHXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCXCCCCC
 "--"-----"-----------------"-----------A          -"--"-----"+=MMMMMMMMMM-MM---Z-Z--------------------M------Z-ZZZZZXXXXXIAAAAAAIIII
+C..C.....C.................C...........           C+..C.....+CC          C  CCC C CCCCCCCCCCCCCCCCCCCC CCCCCC C
+B''B'''''B'''''''''''''''''B'''''''''''            C''B'''''C
+HXXHXXXXXHXXXXXXXXXXXXXXXXXHXXXXXXXXXXX             XXHXXXXX
+XCCXCCCCCXCCCCCCCCCCCCCCCCCXCCCCCCCCCCC             CCXCCCCC
 "------------------------------"-------M          Z---------"=M---MMM-M---------Z----Z-----------Z----------ZZZXZZXZZAAXAIAAAAAIAAIA
+C..............................+.......            .........+C CCC   C CCCCCCCCC CCCC CCCCCCCCCCC CCCCCCCCCC
+B''''''''''''''''''''''''''''''C'''''''            '''''''''C
+HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX            XXXXXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC            CCCCCCCCC
 ----"---""--+--------------------------+         -Z---M+----"+MM-MMMMM--MMM---------------------M--M---Z-ZXZZXZZZXXAXAXAXXXXAXAXXXAA
+....C...CC..C..........................C           ... C....+C  C     CC   CCCCCCCCCCCCCCCCCCCCC CC CCC C
+''''B'''BB'' ''''''''''''''''''''''''''            '''  ''''C
+XXXXHXXXHHXX XXXXXXXXXXXXXXXXXXXXXXXXXX            XXX  XXXX
+CCCCXCCCXXCC CCCCCCCCCCCCCCCCCCCCCCCCCC            CCC  CCCC
 -"------""-----------------------------"         -Z+=--"----"+MMM==M==MMMM-MMMMM-M-M-MMM-M-M---M-ZZZXXXZZXXZXXXXXXXIAIIAI=II=IIIIIII
+.C......CC.............................+           CC..+....+C   CC CC    C     C C C   C C CCC C
+'B''''''BB'''''''''''''''''''''''''''''C             ''C''''C
+XHXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XX XXXX
+CXCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CC CCCC
 -------------"---------------------"X-="+     - 1-AZXM-=+++=M--ZZMZZ-XZZ-XX-ZZZZXXXXAXZZAXZZZ-ZZZZZZXXXXZXXXXAAAAIAI=+=II+IIIIIIIAII
+.............C.....................+ CC+              CCCCCC CC     C   C  C                 C
+'''''''''''''B'''''''''''''''''''''C   C
+XXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCC
 +==++==-M+==MMM=M=MMM===+==+=++=-=M-AAXZI--    1  +-ZZ=+""""+MM-MMZ--------=ZZZ-Z-Z-ZZ--ZZ--Z-Z--ZZXXAIAAIIAAXXAAXI+IAAAIIAIAAAAAIII
+CCCCCCCC CCC   C C   CCCCCCCCCCCCC C               C  CC++++C  C   CCCCCCCC    C C C  CC  CC C CC
+                                                        CCCC
+
+
 -------------------------------"----""="M        -="""-"---""=-------M-----Z-----------ZZZXXZXZZZZXZ-ZZXZZXXXXXXXXAAAAAAAIAAAIIIIIII
+...............................+....++C+           +++.+...++CCCCCCCC CCCCC CCCCCCCCCCC             C
+'''''''''''''''''''''''''''''''C''''CC C           CCC'C'''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX                  X XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC                  C CCC
 -"-----------------------------"--------+       --="------"""=-----------ZZZZZZZ--ZZ-ZZZZZZZZ------------ZZZZZZXXXXXXAXXAAAAAAIIIAII
+.C.............................+........C          +......+++CCCCCCCCCCCC       CC  C        CCCCCCCCCCCC
+'B'''''''''''''''''''''''''''''C''''''''           C''''''CCC
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX            XXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC            CCCCCC
 "-------"----------------------"---------+      --++--------"+MMMMMM-M-----------ZZZ-ZZ--Z-Z--Z---------Z-ZZZZZXXXXAXXAAAIAAIIIAIIII
+C.......C......................+.........          C........+C      C CCCCCCCCCCC   C  CC C CC CCCCCCCCC C
+B'''''''B''''''''''''''''''''''C'''''''''           ''''''''C
+HXXXXXXXHXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX           XXXXXXXX
+XCCCCCCCXCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC           CCCCCCCC
 -------------------------------"-"-------X      --++-------""=MMMM-MMMM-Z--------Z--------XZ-------M--ZZ-ZZZZZZXXXXXXAAAAAAAIIAIIIAI
+...............................+.+.......          C.......++C    C    C CCCCCCCC CCCCCCCC  CCCCCCC CC  C
+'''''''''''''''''''''''''''''''C'C'''''''           '''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXX           XXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCC           CCCCCCC
 -----------------------------------------M      --+=-------""+==M===MMMMMMMM----------Z----Z--------Z--ZZZZZZXXXXXXXAAXAAAAAIAAIAAAA
+.........................................          C.......++CCC CCC        CCCCCCCCCC CCCC CCCCCCCC CC
+'''''''''''''''''''''''''''''''''''''''''           '''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           XXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           CCCCCCC
 --------""------------------------"------+     --1+=--------"+======MMMMMMMM--M---M----Z----------------ZZZZXXXXXXXAXAAAAAAAIAAAAAIA
+........CC........................+......C         C........+CCCCCCC        CC CCC CCCC CCCCCCCCCCCCCCCC
+''''''''BB''''''''''''''''''''''''C''''''           ''''''''C
+XXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX           XXXXXXXX
+CCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC           CCCCCCCC
 --""----""-------------------------"-----"      11+M-------""+======MMMMMMMMMM--MM-M-M-------------ZZ--Z-ZZZZXZXXXXAXXXAAAAIAAIAIIIA
+..CC....CC.........................+.....+          .......++CCCCCCC          CC  C C CCCCCCCCCCCCC  CC C
+''BB''''BB'''''''''''''''''''''''''C'''''C          '''''''CC
+XXHHXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX           XXXXXXX
+CCXXCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC           CCCCCCC
 --"------------------------------"-"------=    -1++--"------"+=======MMMMMMM-MM--MMM---------------Z-ZZZZZZZZZXXXXXAAAAAAAXAAIAAIIII
+..C..............................+.+......         C.C......+CCCCCCCC       C  CC   CCCCCCCCCCCCCCC C
+''B''''''''''''''''''''''''''''''C'C''''''          'B''''''C
+XXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXX          XHXXXXXX
+CCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCC          CXCCCCCC
 -----------------------------------------"A    -11+---------"+===+=====MMMMMMMM--MM-----------Z---ZZZZZZZZZZZZXXXXXAAAAAAAAAAAAAIIII
+.........................................+         C........+CCCCCCCCCC        CC  CCCCCCCCCCC CCC
+'''''''''''''''''''''''''''''''''''''''''C          ''''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           XXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           CCCCCCCC
 -------------------------------------------    -111Z--------"+===+=====MM=MMMMMM-MMM-M-M-M-----Z--Z-Z-ZZZZXZZXXXXXXAAAAAAAAAAAAIIAAI
+..........................................C         ........+CCCCCCCCCC  C      C   C C C CCCCC CC C C
+''''''''''''''''''''''''''''''''''''''''''          ''''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCCCCC
 -"----------------------------------------+     1-1X--------"+===+======MMMMMMMMMMMMMM-M-M-----ZZZ--ZZZZZZXXXXXXXXXXAAAAAAAAAAIIIIIA
+.C........................................C         ........+CCCCCCCCCCC              C C CCCCC   CC
+'B''''''''''''''''''''''''''''''''''''''''          ''''''''C
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCCCCC
 -"----------------------------------------"     11+I"------""+========MM=MMMMMMMM-MMMM-MM-M-----Z-Z---ZZZZXXXXXXXAAAXAAAAAAAIIAIIAIA
+.C........................................+         +......++CCCCCCCCC  C        C    C  C CCCCC C CCC
+'B''''''''''''''''''''''''''''''''''''''''C         C''''''CC
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           XXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           CCCCCC
 -------------"----------------------------"-    --+="------""+=====+====MMMMMMMMM=MMMMMM------------ZZZZZZXXXXAXXXXAAAAAAAAAAAAAAAIA
+.............C............................+         +......++CCCCCCCCCCC         C      CCCCCCCCCCCC
+'''''''''''''B''''''''''''''''''''''''''''C         C''''''CC
+XXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX           XXXXXX
+CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC           CCCCCC
 "-"----------------------------------------=    --1="------""+===========M==MMMMMMMMMMMM-MM---------ZZZZZZZXXXXXXXXAAAAAAAAAAAAAAAAA
+C.C........................................         +......++CCCCCCCCCCCC CC            C  CCCCCCCCC
+B'B''''''''''''''''''''''''''''''''''''''''         C''''''CC
+HXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXXX
+XCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCCC
 "-"----------------------------------------X    --+++------""+=====M======MM=MMMM==MMMMM--M---------ZZZZZZZZXXXXXXXXXXXAXAAAAAAAAAAA
+C.C........................................         C......++CCCCCC CCCCCC  C    CC     CC CCCCCCCCC
+B'B''''''''''''''''''''''''''''''''''''''''          ''''''CC
+HXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXXX
+XCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCCC
 "------------------------------------------M    1-+1+------""+========+===MM=MMMMM==MMMM-M------Z-Z-ZZ-ZZZZXXXXXXXXAAAAAAAAAAAAAAAAA
+C..........................................         C......++CCCCCCCCCCCCC  C     CC    C CCCCCC C C  C
+B''''''''''''''''''''''''''''''''''''''''''          ''''''CC
+HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCCC
 "-------"----------------------------------+    -1+++-----""++====MMM=======MMMMMMMMMM---MM-------Z-ZZZZZZZZXZXXZXXXAAAAAAXAAAAAAAIA
+C.......C..................................C        C.....++CCCCCC   CCCCCCC          CCC  CCCCCCC C
+B'''''''B''''''''''''''''''''''''''''''''''          '''''CC
+HXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXX
+XCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCC
 -------------------------------------------"    -1+++-----""++====M======MMMMMMMMMMMMM--M-M-----Z-ZZZXZZXZXXXXXXXXAXXAAAAAAAAAAAAIIA
+...........................................+        C.....++CCCCCC CCCCCC             CC C CCCCC C
+'''''''''''''''''''''''''''''''''''''''''''C         '''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCC
 "----------"--------------------------------+   -1++=-----""++===-==========MMMMMMMMMMMMM-M--Z---ZZZZZZZXZZXXXXXXXAXXAAAXAAAAAIAIIIA
+C..........C................................        C.....++CCCCCCCCCCCCCCCC             C CC CCC
+B''''''''''B''''''''''''''''''''''''''''''''         '''''CC
+HXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         XXXXX
+XCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         CCCCC
 -"-----------"------------------------------A   -+++=-----"++===============MMMMMMMMMMMM-M-----Z-ZZZZZZZZXXXAXAXXXXXXAAAXAAAAAIAIII=
+.C...........C..............................        C.....+CCCCCCCCCCCCCCCCC            C CCCCC C
+'B'''''''''''B''''''''''''''''''''''''''''''         '''''C
+XHXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         XXXXX
+CXCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         CCCCC
 ---------------------------------------------    +++M"-----"+===============MMMMMMMMMMMMMM---Z-ZZZZZXZZZZZXXXXXXXAAXXXXAAAAIIAIIAIII
+............................................C        C.....+CCCCCCCCCCCCCCCC              CCC C
+''''''''''''''''''''''''''''''''''''''''''''         B'''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         HXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         XCCCCC
 -"----------------------"-------------------=    1+=M------"++===============M=M=MMM-MMM--------ZZZZZZXXZXXXXXXXXAXAXAXAAAAAIAIIIII=
+.C......................+...................C        ......+CCCCCCCCCCCCCCCCC C C   C   CCCCCCCC
+'B''''''''''''''''''''''C'''''''''''''''''''         ''''''C
+XHXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX         XXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC         CCCCCC
 -"------------------------------------------"    1+=M------"++=+============MM==MMMMMMMM-MM---ZZZZZZZZXXXXXXXXXXXAXAAAAAAAAAIIIIII==
+.C..........................................+        ......+CCCCCCCCCCCCCCCC  CC        C  CCC
+'B''''''''''''''''''''''''''''''''''''''''''C        ''''''C
+XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         XXXXXX
+CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         CCCCCC
 ----------"---------"---""-----"------------"1   1=+------"+++=======M=M====MM=MMMMMM-M-MMM--ZZZZZZXXXXXXXXAAXAAXXXAXAAII=IIIII=III=
+..........C.........+...++.....+............+       C.....+CCCCCCCCCC C CCCC  C      C C   CC
+''''''''''B'''''''''C'''CC'''''C''''''''''''C        '''''C
+XXXXXXXXXXHXXXXXXXXX XXX  XXXXX XXXXXXXXXXXX         XXXXX
+CCCCCCCCCCXCCCCCCCCC CCC  CCCCC CCCCCCCCCCCC         CCCCC
 ""----------"-----------"""------------------I   1+=X------"+++======MM===+===M=MMMMMMMM-M---ZZZZZZXXXXXXXXAAXXXXAAAIAAAIIIIII=II==I
+CC..........C...........+++..................        ......+CCCCCCCCC  CCCCCCC C        C CCC
+BB''''''''''B'''''''''''CCC''''''''''''''''''        ''''''C
+HHXXXXXXXXXXHXXXXXXXXXXX   XXXXXXXXXXXXXXXXXX        XXXXXX
+XXCCCCCCCCCCXCCCCCCCCCCC   CCCCCCCCCCCCCCCCCC        CCCCCC
 -"----------"---------""""-------------------Z   1+=A-----""++++======MM=====M==MMMMMMMM-M---ZZZZZZXXXXXXXXXXAXXAAAAIAIAIIII====I===
+.C..........C.........++++...................        .....++CCCCCCCCCC  CCCCC CC        C CCC
+'B''''''''''B'''''''''CCCC'''''''''''''''''''        '''''CC
+XHXXXXXXXXXXHXXXXXXXXX    XXXXXXXXXXXXXXXXXXX        XXXXX
+CXCCCCCCCCCCXCCCCCCCCC    CCCCCCCCCCCCCCCCCCC        CCCCC
 ------------------------""-------------------M   1++I-----""++++=====M=======M==MM=MMMMM-M--Z-ZZZZZXXXXXXXXXXXAAAAIAAAIIIII=====I===
+........................++...................        .....++CCCCCCCCC CCCCCCC CC  C     C CC C
+''''''''''''''''''''''''CC'''''''''''''''''''        '''''CC
+XXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXX        XXXXX
+CCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCC        CCCCC
 ----------------"------"-+--------"--""--"---+   -+1="---""++=+===M=============MMMMMM-M------ZZZZXXXXXXXXAXAAAAAIAIAAIIII========+=
+................+......+.C........+..++..C...C       +...++CCCCCCC CCCCCCCCCCCCC      C CCCCCC
+''''''''''''''''C''''''C' ''''''''C''CC''B'''        C'''CC
+XXXXXXXXXXXXXXXX XXXXXX X XXXXXXXX XX  XXHXXX         XXX
+CCCCCCCCCCCCCCCC CCCCCC C CCCCCCCC CC  CCXCCC         CCC
 ----"--------"----------"""------------------"-   1++"----"++++====M==========M=MMMMMMMMMM-----ZZZXXXZXAXAXXAAAAAAAIIIIII====I===I==
+....C........C..........+++..................+       +....+CCCCCCCC CCCCCCCCCC C          CCCCC
+''''B''''''''B''''''''''CCC''''''''''''''''''C       C''''C
+XXXXHXXXXXXXXHXXXXXXXXXX   XXXXXXXXXXXXXXXXXX         XXXX
+CCCCXCCCCCCCCXCCCCCCCCCC   CCCCCCCCCCCCCCCCCC         CCCC
 -----------------------""""-------------------I   -1++---"""++============MM=MMMMM-MMMM--MM----ZZZZXXXXXXXAAAAAAAAAIII=III==========
+.......................++++...................       C...+++CCCCCCCCCCCCCC  C     C    CC  CCCC
+'''''''''''''''''''''''CCCC'''''''''''''''''''        '''CCC
+XXXXXXXXXXXXXXXXXXXXXXX    XXXXXXXXXXXXXXXXXXX        XXX
+CCCCCCCCCCCCCCCCCCCCCCC    CCCCCCCCCCCCCCCCCCC        CCC
 -------------"------"----"--------"-----------Z   -+1=---"""++================MMMM-MM-----M----ZZZXZXXXXXAAXAXAAAAAIIIIIII==========
+.............C......+....+........+...........       C...+++CCCCCCCCCCCCCCCCCC    C  CCCCC CCCC
+'''''''''''''B''''''C''''C''''''''C'''''''''''        '''CCC
+XXXXXXXXXXXXXHXXXXXX XXXX XXXXXXXX XXXXXXXXXXX        XXX
+CCCCCCCCCCCCCXCCCCCC CCCC CCCCCCCC CCCCCCCCCCC        CCC
 --"--"-----------"---"--"""-------"-----------M   -++M----"++==+=======M=M==MMM=MMMMMM-M--------ZZXZXXXAXXAAAAXIAAAIAAIIIII===I+==++
+..C..C...........+...+..+++.......+...........        ....+CCCCCCCCCCCC C CC   C      C CCCCCCCC
+''B''B'''''''''''C'''C''CCC'''''''C'''''''''''        ''''C
+XXHXXHXXXXXXXXXXX XXX XX   XXXXXXX XXXXXXXXXXX        XXXX
+CCXCCXCCCCCCCCCCC CCC CC   CCCCCCC CCCCCCCCCCC        CCCC
 ---------------------"---""------"""----------+   -1+M---"""+++========MM==MMMM==M-MMMM-M-M---ZZZZZZXZXXXXAXAAAAAAAIAIIII======+====
+.....................+...++......+++..........C       ...+++CCCCCCCCCCC  CC    CC C    C C CCC
+'''''''''''''''''''''C'''CC''''''CCC''''''''''        '''CCC
+XXXXXXXXXXXXXXXXXXXXX XXX  XXXXXX   XXXXXXXXXX        XXX
+CCCCCCCCCCCCCCCCCCCCC CCC  CCCCCC   CCCCCCCCCC        CCC
 --"----------------------"+-------"-----------"-  -+=Z----""+++=======M====MMMMM====-MMMM----ZZZZZZZXZXXXXAAAAAAAIIIIIIII=I====+===+
+..C......................+C.......+...........+       ....++CCCCCCCCCC CCCC     CCCCC    CCCC
+''B''''''''''''''''''''''C '''''''C'''''''''''C       ''''CC
+XXHXXXXXXXXXXXXXXXXXXXXXX  XXXXXXX XXXXXXXXXXX        XXXX
+CCXCCCCCCCCCCCCCCCCCCCCCC  CCCCCCC CCCCCCCCCCC        CCCC
 ------------------------"""-------"------------=  -1+Z----""++=+==========MMMMMMM=MMMMMMM-------ZZZZZZXXXXXAAAAAAIIIIIII=I=========+
+........................+++.......+............       ....++CCCCCCCCCCCCCC       C       CCCCCCC
+''''''''''''''''''''''''CCC'''''''C''''''''''''       ''''CC
+XXXXXXXXXXXXXXXXXXXXXXXX   XXXXXXX XXXXXXXXXXXX       XXXX
+CCCCCCCCCCCCCCCCCCCCCCCC   CCCCCCC CCCCCCCCCCCC       CCCC
 -"-------"---------------""-------"""---------"A   -+Z----"""=+==========MMM=MMMMMMMM-MM-M-----ZZZZZXXXXAAAAAAAAIAAII=III====+==+=++
+.C.......+...............++.......+++.........+       ....+++CCCCCCCCCCCC   C        C  C CCCCC
+'B'''''''C'''''''''''''''CC'''''''CCC'''''''''C       ''''CCC
+XHXXXXXXX XXXXXXXXXXXXXXX  XXXXXXX   XXXXXXXXX        XXXX
+CXCCCCCCC CCCCCCCCCCCCCCC  CCCCCCC   CCCCCCCCC        CCCC
 ""------------------------+--------""----------Z   -+X----""++=++===========MMMMMMMMMMMMM--------ZZZZZXXXXXXAAAAAAIAIIIII=I=======+=
+CC........................C........++..........       ....++CCCCCCCCCCCCCCCC             CCCCCCCC
+BB'''''''''''''''''''''''' ''''''''CC''''''''''       ''''CC
+HHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX  XXXXXXXXXX       XXXX
+XXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC  CCCCCCCCCC       CCCC
 ""------------------------"---------""---------M   -+A-----""++=====+====M===MMMMMMMMMMM--------ZZZZXXZXXXXXAAAAAAIAIIII====+++==+++
+CC........................+.........++.........       .....++CCCCCCCCCCCC CCC           CCCCCCCC
+BB''''''''''''''''''''''''C'''''''''CC'''''''''       '''''CC
+HHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX  XXXXXXXXX       XXXXX
+XXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC  CCCCCCCCC       CCCCC
 ----"-----"---------------"--------"-"---------+    1A-----"""+==++=+========MMMM=MMMMMM----Z---ZZZXZZXXXXXXAAAAAAIIIIII====+=++=+++
+....C.....C...............+........+.+.........C      .....+++CCCCCCCCCCCCCCC    C      CCCC CCC
+''''B'''''B'''''''''''''''C''''''''C'C'''''''''       '''''CCC
+XXXXHXXXXXHXXXXXXXXXXXXXXX XXXXXXXX X XXXXXXXXX       XXXXX
+CCCCXCCCCCXCCCCCCCCCCCCCCC CCCCCCCC C CCCCCCCCC       CCCCC
 -"-----------------------""----------""--------"    1I"----""+++========M===MMMMMMMMMMMMMMM------ZZZXXXAXXXXAAAIIAII=II=I=+==+++++++
+.C.......................++..........++........+      +....++CCCCCCCCCCC CCC               CCCCCC
+'B'''''''''''''''''''''''CC''''''''''CC''''''''C      C''''CC
+XHXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXX  XXXXXXXX        XXXX
+CXCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCC  CCCCCCCC        CCCC
 --""----------------------""---------""---------1   1="-----"+++=+===========MMMMMMMMMMM--------ZZZZXXXXXXAXAAAAIIAAIIII===++++++11+
+..CC......................++.........++.........      +.....+CCCCCCCCCCCCCCCC           CCCCCCCC
+''BB''''''''''''''''''''''CC'''''''''CC'''''''''      C'''''C
+XXHHXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXX  XXXXXXXXX       XXXXX
+CCXXCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCC  CCCCCCCCC       CCCCC
 "-""-----------------------"----------"---------A   -=+-----"+++=+===========MMMMMMMMMMMM-M-----ZZXZXXXXXXAXAAAAAIAIIII===++=+++++1+
+C.CC.......................+..........+.........      C.....+CCCCCCCCCCCCCCCC            C CCCCC
+B'BB'''''''''''''''''''''''C''''''''''C'''''''''       '''''C
+HXHHXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXX       XXXXX
+XCXXCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC CCCCCCCCC       CCCCC
 "-"-"---------""--------------------------------Z    ==-----"+++=============MMMMMMMMM-MM-M---Z-ZZZZXXXAXXXAAAAAAAAII===I==+=++1++11
+C.C.C.........CC................................      C.....+CCCCCCCCCCCCCCCC         C  C CCC C
+B'B'B'''''''''BB''''''''''''''''''''''''''''''''       '''''C
+HXHXHXXXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXX
+XCXCXCCCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CCCCC
 --------------------------"---------------------M    +=-----""+===========M==MMMMMMMMMMM------ZZZZZXXXXAXXXAAAAAIAIIII====++++1111-1
+..........................+.....................      C.....++CCCCCCCCCCCC CC           CCCCCC
+''''''''''''''''''''''''''C'''''''''''''''''''''       '''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX       XXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCC       CCCCC
 ---"---------"-----"------"-"-------------------=    +=------"++===============MMMMM--MM--M----ZZZZXXXXXXXAAAAAIIIIII======+++++1111
+...C.........C.....C......+.+...................C     C......+CCCCCCCCCCCCCCCCC     CC  CC CCCC
+'''B'''''''''B'''''B''''''C'C'''''''''''''''''''       ''''''C
+XXXHXXXXXXXXXHXXXXXHXXXXXX X XXXXXXXXXXXXXXXXXXX       XXXXXX
+CCCXCCCCCCCCCXCCCCCXCCCCCC C CCCCCCCCCCCCCCCCCCC       CCCCCC
 -----------------------"--"-"-------------------"    1M------"++========M======MMMMMM-MM--M-----ZZZZXXXXXAAAAAIIIII======+++1++11111
+.......................+..+.+...................+      ......+CCCCCCCCCC CCCCCC      C  CC CCCCC
+'''''''''''''''''''''''C''C'C'''''''''''''''''''C      ''''''C
+XXXXXXXXXXXXXXXXXXXXXXX XX X XXXXXXXXXXXXXXXXXXX       XXXXXX
+CCCCCCCCCCCCCCCCCCCCCCC CC C CCCCCCCCCCCCCCCCCCC       CCCCCC
 -----"-----------------"-"""""------------------"1   1-------""+=====M==M===M==M==MMMMMM--M-------ZZXXXXXAAAAAAIAI=II===+=++++11+111
+.....C.................+.+++++..................+     C......++CCCCCC CC CCC CC CC      CC CCCCCCC
+'''''B'''''''''''''''''C'CCCCC''''''''''''''''''C      ''''''CC
+XXXXXHXXXXXXXXXXXXXXXXX X     XXXXXXXXXXXXXXXXXX       XXXXXX
+CCCCCXCCCCCCCCCCCCCCCCC C     CCCCCCCCCCCCCCCCCC       CCCCCC
 "------------------------"""""-------------------I   -Z------""+===M=MM======MMM==MMM-MM-------ZZZZZXZXZXXAAAAAIIAIII======++++1+111
+C........................+++++...................      ......++CCCC C  CCCCCC   CC   C  CCCCCCC
+B''''''''''''''''''''''''CCCCC'''''''''''''''''''      ''''''CC
+HXXXXXXXXXXXXXXXXXXXXXXXX     XXXXXXXXXXXXXXXXXXX      XXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCCC     CCCCCCCCCCCCCCCCCCC      CCCCCC
 --"----------------------"-""------"-------------X   -Z-------""+======MMM===M=M===MMMMMMM------ZZZZXZXXXXAAAAAAIIIIIII===+++++++++=
+..C......................+.++......+.............      .......++CCCCCCC   CCC C CCC       CCCCCC
+''B''''''''''''''''''''''C'CC''''''C'''''''''''''      '''''''CC
+XXHXXXXXXXXXXXXXXXXXXXXXX X  XXXXXX XXXXXXXXXXXXX      XXXXXXX
+CCXCCCCCCCCCCCCCCCCCCCCCC C  CCCCCC CCCCCCCCCCCCC      CCCCCCC
 "-----------------------""------------------------   1X-------""+====M=MMM=======M=MMMMMMMM---Z-ZZZZXXXXXXAXAAAAAIIIII=====++=++++++
+C.......................++.......................C     .......++CCCCC C   CCCCCCC C        CCC C
+B'''''''''''''''''''''''CC'''''''''''''''''''''''      '''''''CC
+HXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXX      XXXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCC      CCCCCCC
 "-----------------------""----"-------"----------M   1X--------"++======M==M==MM===MMMMMMMM-----ZZZZZXZXXXAAAAAAIIII==========++++++
+C.......................++....+.......+..........      ........+CCCCCCCC CC CC  CCC        CCCCC
+B'''''''''''''''''''''''CC''''C'''''''C''''''''''      ''''''''C
+HXXXXXXXXXXXXXXXXXXXXXXX  XXXX XXXXXXX XXXXXXXXXX      XXXXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCC  CCCC CCCCCCC CCCCCCCCCC      CCCCCCCC
 "-----------------------"""--"-------"-"----"----M   -A"------"-"++====MMMM========MMMMM-MM----Z-ZZZXZXXZXXAXAAAIIIIIII======+++++++
+C.......................+++..+.......+.+....+....      +......+.+CCCCCC    CCCCCCCC     C  CCCC C
+B'''''''''''''''''''''''CCC''C'''''''C'C''''C''''      C''''''C'C
+HXXXXXXXXXXXXXXXXXXXXXXX   XX XXXXXXX X XXXX XXXX       XXXXXX X
+XCCCCCCCCCCCCCCCCCCCCCCC   CC CCCCCCC C CCCC CCCC       CCCCCC C
 ------------------------""--"""------""----------=   -A-----"--"""+====MMMMMMMM==M==MMMMMM-M------ZZZXXXXXXXAAAAAAAAIIIII=I=====++++
+........................++..+++......++..........C     .....+..+++CCCCC        CC CC      C CCCCCC
+''''''''''''''''''''''''CC''CCC''''''CC''''''''''      '''''C''CCC
+XXXXXXXXXXXXXXXXXXXXXXXX  XX   XXXXXX  XXXXXXXXXX      XXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCC  CC   CCCCCC  CCCCCCCCCC      CCCCC CC
 "-----------------------""--"""------"""---------=   -I"------""""++===MMMM=MMM==MM=MMMMMMMMM----ZZZZZXXXXXXXAAAAAAIIIIII=I======+++
+C.......................++..+++......+++.........C     +......++++CCCCC    C   CC  C         CCCC
+B'''''''''''''''''''''''CC''CCC''''''CCC'''''''''      C''''''CCCC
+HXXXXXXXXXXXXXXXXXXXXXXX  XX   XXXXXX   XXXXXXXXX       XXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCC  CC   CCCCCC   CCCCCCCCC       CCCCCC
 "-------------"---------"---""""-----"-""--------+    A"--------"""+===MM=M=MMM=M=M=MMM=MMMMM------ZZZZZXXXXXAAAAAAAAII=III=======+=
+C.............C.........+...++++.....+.++........C     +........+++CCCC  C C   C C C   C     CCCCCC
+B'''''''''''''B'''''''''C'''CCCC'''''C'CC''''''''      C''''''''CCC
+HXXXXXXXXXXXXXHXXXXXXXXX XXX    XXXXX X  XXXXXXXX       XXXXXXXX
+XCCCCCCCCCCCCCXCCCCCCCCC CCC    CCCCC C  CCCCCCCC       CCCCCCCC
 -"---"-----------------"""--""""------"-""-------"    A---------"""+==M==M=MM=M=MMMMMMMMMMM----ZZZZZXZZZXXXXAXAAAAAAIIIIII===I====++
+.C...C.................+++..++++......+.++.......+     .........+++CCC CC C  C C           CCCC
+'B'''B'''''''''''''''''CCC''CCCC''''''C'CC'''''''C     '''''''''CCC
+XHXXXHXXXXXXXXXXXXXXXXX   XX    XXXXXX X  XXXXXXX      XXXXXXXXX
+CXCCCXCCCCCCCCCCCCCCCCC   CC    CCCCCC C  CCCCCCC      CCCCCCCCC
 -----------------------"""--"""-------"-""--------=   A----------""+++===M=====MMMMMMMMMMMM--M-----ZZZZXXXXXXXAAAAAIIIII============
+.......................+++..+++.......+.++........     ..........++CCCCCC CCCCC            CC CCCCC
+'''''''''''''''''''''''CCC''CCC'''''''C'CC''''''''     ''''''''''CC
+XXXXXXXXXXXXXXXXXXXXXXX   XX   XXXXXXX X  XXXXXXXX     XXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCC   CC   CCCCCCC C  CCCCCCCC     CCCCCCCCCC
 -----------------------""""-"""-------"-"""-------X   X-------"--"""++==MM==M===MMMMMMMM--M---M--ZZZZZZZZXXXXAAAAAIIIIII=I==I=======
+.......................++++.+++.......+.+++.......     .......+..+++CCCC  CC CCC        CC CCC CC
+'''''''''''''''''''''''CCCC'CCC'''''''C'CCC'''''''     '''''''C''CCC
+XXXXXXXXXXXXXXXXXXXXXXX    X   XXXXXXX X   XXXXXXX     XXXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCC    C   CCCCCCC C   CCCCCCC     CCCCCCC CC
 ---------"-------------""""""-""------"--""-------Z   Z-------"--"""++===M====M=M=MMMMMM-MM--M-------ZZXXXXXXAXAIIIIIIIII====I======
+.........C.............++++++.++......+..++.......     .......+..+++CCCCC CCCC C C      C  CC CCCCCCC
+'''''''''B'''''''''''''CCCCCC'CC''''''C''CC'''''''     '''''''C''CCC
+XXXXXXXXXHXXXXXXXXXXXXX      X  XXXXXX XX  XXXXXXX     XXXXXXX XX
+CCCCCCCCCXCCCCCCCCCCCCC      C  CCCCCC CC  CCCCCCC     CCCCCCC CC
 -----------------------"""-""""""-----"""""----"--M   Z"------"--""""+====M=M==MMMMMMMMMM-MM--------ZZZZXXXXAAAAXAAAIIIIII======+===
+.......................+++.++++++.....+++++....+..     +......+..++++CCCCC C CC          C  CCCCCCCC
+'''''''''''''''''''''''CCC'CCCCCC'''''CCCCC''''C''     C''''''C''CCCC
+XXXXXXXXXXXXXXXXXXXXXXX   X      XXXXX     XXXX XX      XXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCC   C      CCCCC     CCCC CC      CCCCCC CC
 -"---------------------"""--"-""---------""-------+   Z------""-""-""++++==M===MMMMMMMMMMM-M-------ZZZZXZZXXXXXAAAAAIIIIII==========
+.C.....................+++..+.++.........++.......C    ......++.++.++CCCCCC CCC           C CCCCCCC
+'B'''''''''''''''''''''CCC''C'CC'''''''''CC'''''''     ''''''CC'CC'CC
+XHXXXXXXXXXXXXXXXXXXXXX   XX X  XXXXXXXXX  XXXXXXX     XXXXXX  X  X
+CXCCCCCCCCCCCCCCCCCCCCC   CC C  CCCCCCCCC  CCCCCCC     CCCCCC  C  C
 ----------------------""-""-"-"---------"""-------"1  -------""-""""""+++=======MMMMMMMMMM----------ZZ-ZZZXXXXXAAAAAIIIIII==========
+......................++.++.+.+.........+++.......+   C......++.++++++CCCCCCCCCC          CCCCCCCCCC  C
+''''''''''''''''''''''CC'CC'C'C'''''''''CCC'''''''C    ''''''CC'CCCCCC
+XXXXXXXXXXXXXXXXXXXXXX  X  X X XXXXXXXXX   XXXXXXX     XXXXXX  X
+CCCCCCCCCCCCCCCCCCCCCC  C  C C CCCCCCCCC   CCCCCCC     CCCCCC  C
 ----------------------""-"--"-"---------""---------I  --------""-"-"""++++=======MMM-MM--M--------Z-ZZZZZXXXXXXAAAAIIII=II===I======
+......................++.+..+.+.........++.........   C.......++.+.+++CCCCCCCCCCC   C  CC CCCCCCCC C
+''''''''''''''''''''''CC'C''C'C'''''''''CC'''''''''    '''''''CC'C'CCC
+XXXXXXXXXXXXXXXXXXXXXX  X XX X XXXXXXXXX  XXXXXXXXX    XXXXXXX  X X
+CCCCCCCCCCCCCCCCCCCCCC  C CC C CCCCCCCCC  CCCCCCCCC    CCCCCCC  C C
 ---------------------"-"-"--"-"-----------"-"------X  ------""""""-"-""+++===MMM=MMMM-MMM--------M---Z-ZZZXXXXXXAAAAAIIII===========
+.....................+.+.+..+.+...........+.+......   C.....++++++.+.++CCCCCC   C    C   CCCCCCCC CCC C
+'''''''''''''''''''''C'C'C''C'C'''''''''''C'C''''''    '''''CCCCCC'C'CC
+XXXXXXXXXXXXXXXXXXXXX X X XX X XXXXXXXXXXX X XXXXXX    XXXXX      X X
+CCCCCCCCCCCCCCCCCCCCC C C CC C CCCCCCCCCCC C CCCCCC    CCCCC      C C
 -----------"-"--------"-""--"""---------------------  M------"""""""-""+++++===MMMMMMM-MMM----------ZZZZZXZXXXXXXXAAAIIAII===I=====I
+...........+.C........+.++..+++....................C   ......+++++++.++CCCCCCCC       C   CCCCCCCCCC
+'''''''''''C'B''''''''C'CC''CCC''''''''''''''''''''    ''''''CCCCCCC'CC
+XXXXXXXXXXX XHXXXXXXXX X  XX   XXXXXXXXXXXXXXXXXXXX    XXXXXX       X
+CCCCCCCCCCC CXCCCCCCCC C  CC   CCCCCCCCCCCCCCCCCCCC    CCCCCC       C
 --------"--------------"-"--"""-"------------------=  +------"""""""""""+++=====MMMMMM---------------ZZ-ZZZXXXXXXXAXAAAAIIIIII=====I
+........+..............+.+..+++.+..................C  C......+++++++++++CCCCCCCC      CCCCCCCCCCCCCCC  C
+''''''''C''''''''''''''C'C''CCC'C''''''''''''''''''    ''''''CCCCCCCCCCC
+XXXXXXXX XXXXXXXXXXXXXX X XX   X XXXXXXXXXXXXXXXXXX    XXXXXX
+CCCCCCCC CCCCCCCCCCCCCC C CC   C CCCCCCCCCCCCCCCCCC    CCCCCC
 ----------------------------"-"--------------------+ -"------""""""""""""+++=====MMMMMM-----------ZZZZZZZZZZXXXXXXXAXXAIIIIIII======
+............................+.+....................C  +......++++++++++++CCCCCCCC      CCCCCCCCCCC
+''''''''''''''''''''''''''''C'C''''''''''''''''''''   C''''''CCCCCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXXXXXXXXX    XXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCCCCCCC    CCCCCC
 ---------------------------""""-------------"------" I---""-""""""""""""+++==+====MMM-M----------ZZZZZXZZZXXXXXXAAXAXAAAAAAIIII=II==
+...........................++++.............+......+  ...++.++++++++++++CCCCCCCCCC   C CCCCCCCCCC
+'''''''''''''''''''''''''''CCCC'''''''''''''C''''''C  '''CC'CCCCCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXXXXXXXX XXXXXX   XXX  X
+CCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCCCCCCCC CCCCCC   CCC  C
 "---------------------"----""""-------------"------"------"--"""""""""""""++========MM----------ZZZ-ZZZZZZZZXXXXXXXAAAAAAAAIIIIIII==
+C.....................+....++++.............+......+ C....+..+++++++++++++CCCCCCCCCC  CCCCCCCCCC   C
+B'''''''''''''''''''''C''''CCCC'''''''''''''C''''''C  ''''C''CCCCCCCCCCCCC
+HXXXXXXXXXXXXXXXXXXXXX XXXX    XXXXXXXXXXXXX XXXXXX   XXXX XX
+XCCCCCCCCCCCCCCCCCCCCC CCCC    CCCCCCCCCCCCC CCCCCC   CCCC CC
 --------------------"-+----""""---------------------=---------""""""""""""+++=======MMMM--M--ZZZ-ZZZZZZZZZZZXXXXXXAXAAAIAAAIAAIIIIII
+....................+.C....++++..................... C........++++++++++++CCCCCCCCCC    CC CC   C
+''''''''''''''''''''C' ''''CCCC'''''''''''''''''''''  ''''''''CCCCCCCCCCCC
+XXXXXXXXXXXXXXXXXXXX X XXXX    XXXXXXXXXXXXXXXXXXXXX  XXXXXXXX
+CCCCCCCCCCCCCCCCCCCC C CCCC    CCCCCCCCCCCCCCCCCCCCC  CCCCCCCC
 ----------------------------"-------------"----------Z-----"--"""""""""""""++++=M===MMMM------Z-Z-ZZZZZZZZZXXXZXAXXAXAAAAAAAAIAIIIII
+............................+.............+.........C .....+..+++++++++++++CCCCC CCC    CCCCCC C C
+''''''''''''''''''''''''''''C'''''''''''''C'''''''''  '''''C''CCCCCCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXX  XXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCCCC  CCCCC CC
 ----------"-----------"----""---------""------------"-------"-""""""""""""""+++===MMMMMM---I-ZZZ--ZZZZZZZZXXXZXAAXAAXAAAAAAAAIIIII=I
+..........C...........+....++.........++............+.......+.++++++++++++++CCCCCC      CCC C   CC
+''''''''''B'''''''''''C''''CC'''''''''CC''''''''''''C'''''''C'CCCCCCCCCCCCCC
+XXXXXXXXXXHXXXXXXXXXXX XXXX  XXXXXXXXX  XXXXXXXXXXXX XXXXXXX X
+CCCCCCCCCCXCCCCCCCCCCC CCCC  CCCCCCCCC  CCCCCCCCCCCC CCCCCCC C
 "-----------------"---------"----------""---------"----------""""""""""""""""++++====MMM-M---ZZ---ZZZZZZZZXXXXXXXAAAAAAAAAAAAAAIAIII
+C.................+.........+..........++.........+..........++++++++++++++++CCCCCCCC   C CCC  CCC
+B'''''''''''''''''C'''''''''C''''''''''CC'''''''''C''''''''''CCCCCCCCCCCCCCCC
+HXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXX  XXXXXXXXX XXXXXXXXXX
+XCCCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCCC  CCCCCCCCC CCCCCCCCCC
 ------------------"------""-"---------"""--------------------""""""""+"+"-"""+++==M=MMMM-M-----Z-ZZZZZZZZZXZXXXXXAAXAAAAAAAAIAAIIIII
+..................+......++.+.........+++....................++++++++C+C+.+++CCCCC C    C CCCCC C
+''''''''''''''''''C''''''CC'C'''''''''CCC''''''''''''''''''''CCCCCCCC C C'CCC
+XXXXXXXXXXXXXXXXXX XXXXXX  X XXXXXXXXX   XXXXXXXXXXXXXXXXXXXX            X
+CCCCCCCCCCCCCCCCCC CCCCCC  C CCCCCCCCC   CCCCCCCCCCCCCCCCCCCC            C
 ---"-------------------"-------------"-""----------------"--"-"""-"""+""""""""+++====MM-MM-----Z-ZZZZZZZZZZZXXZXAXAAAAAAAAIAIAAIAIII
+...C...................+.............+.++................+..+.+++.+++C++++++++CCCCCCC  C  CCCCC C
+'''B'''''''''''''''''''C'''''''''''''C'CC''''''''''''''''C''C'CCC'CCC CCCCCCCC
+XXXHXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX X  XXXXXXXXXXXXXXXX XX X   X
+CCCXCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC C  CCCCCCCCCCCCCCCC CC C   C
 -----------------""-----------------"""""---"-------------""""""""""""+++""""++++++==MMMMM---Z---ZZ-ZZZZZZZZZXXXXXXAAXAAAAAAIAAIAIII
+.................++.................+++++...+.............++++++++++++CCC++++CCCCCCCC     CCC CCC  C
+'''''''''''''''''CC'''''''''''''''''CCCCC'''C'''''''''''''CCCCCCCCCCCC   CCCC
+XXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXX     XXX XXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCC     CCC CCCCCCCCCCCCC
 ----------------"------------------"""""+""""----------------"""""""""+"""""""""+++===MM-M------Z-Z-Z-ZZZZZZZXXXXXXXXXXAAAAAAAAIIIII
+................+..................+++++C++++................+++++++++C+++++++++CCCCCC  C CCCCCC C C C
+''''''''''''''''C''''''''''''''''''CCCCC CCCC''''''''''''''''CCCCCCCCC CCCCCCCCC
+XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX          XXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC          CCCCCCCCCCCCCCCC
 "----------------------------------""+""+""""-----"---------""""""""""""+"""""""++++===MMM------ZZZZ--ZZZZZZZZXXXXXXXAXAAAAAAIAIIIII
+C..................................++C++C++++.....+.........++++++++++++C+++++++CCCCCCC   CCCCCC    CC
+B''''''''''''''''''''''''''''''''''CC CC CCCC'''''C'''''''''CCCCCCCCCCCC CCCCCCC
+HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXXXX XXXXXXXXX
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCCC CCCCCCCCC
 "----------------------------------""+"++""-----------"----"""""""""""""+""""""""++==M=MMM--------ZZ---Z-ZZAZZXXXZXXXXXXXAAAAAAIIIII
+C..................................++C+CC++...........C....+++++++++++++C++++++++CCCC C   CCCCCCCC  CCC C
+B''''''''''''''''''''''''''''''''''CC C  CC'''''''''''B''''CCCCCCCCCCCCC CCCCCCCC
+HXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        XXXXXXXXXXXHXXXX
+XCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        CCCCCCCCCCCXCCCC
 ----------------------------------"""""""""-""------------""-"""""""+"""++""""+""++====MMM-M---Z-ZZZZZZZZZZZZZZXXXZXXAXXXAAAAAAIAIII
+..................................+++++++++.++............++.+++++++C+++CC++++C++CCCCCC   C CCC C
+''''''''''''''''''''''''''''''''''CCCCCCCCC'CC''''''''''''CC'CCCCCCC CCC  CCCC CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         X  XXXXXXXXXXXX  X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         C  CCCCCCCCCCCC  C
 --"------------"-------------------""""""""----------------"-""""""""++"++""""""""++====MMMMM----ZZZZZZZZZZXXZZZZZXXXXXAXXAAAAAIAIII
+..C............+...................++++++++................+.++++++++CC+CC++++++++CCCCCC     CCCC
+''B''''''''''''C'''''''''''''''''''CCCCCCCC''''''''''''''''C'CCCCCCCC  C  CCCCCCCC
+XXHXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX        XXXXXXXXXXXXXXXX X
+CCXCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC        CCCCCCCCCCCCCCCC C
 ------------------------------------""""""""------------------"""""""+++++"""""""""++=M=MMMMM----ZZZZZZZZZZZZZZZZZXXXXXXXAXAAAAAAAII
+....................................++++++++..................+++++++CCCCC+++++++++CCC C     CCCC
+''''''''''''''''''''''''''''''''''''CCCCCCCC''''''''''''''''''CCCCCCC     CCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        XXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        CCCCCCCCCCCCCCCCCC
 ---------"--------------------------"""""""""--------------"--"""""""+"++++"""""""+++===MMMMM-----ZZZZZZZZZZZZZZZZXZXXXXXXXAAAAAAAII
+.........C..........................+++++++++..............+..+++++++C+CCCC+++++++CCCCCC     CCCCC
+'''''''''B''''''''''''''''''''''''''CCCCCCCCC''''''''''''''C''CCCCCCC C    CCCCCCC
+XXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX         XXXXXXXXXXXXXX XX
+CCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC         CCCCCCCCCCCCCC CC
 ----------------------------------"-"""""""""--------------"-""""""+++++++++++""""++++===MMMMMM--ZZZZZZZZXXZZXXZXZZXXXXXXAXXAAAAAAIA
+..................................+.+++++++++..............+.++++++CCCCCCCCCCC++++CCCCCCC      CC
+''''''''''''''''''''''''''''''''''C'CCCCCCCCC''''''''''''''C'CCCCCC           CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X         XXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C         CCCCCCCCCCCCCC C
 "----""------------------------------""""""+---------------"-"""""""""++++++""""""++====M=MMMMM-----ZZZZZZZZZZZXXZZXXXXXXXXXAXXAAAAA
+C....CC..............................++++++C...............+.+++++++++CCCCCC++++++CCCCCC C     CCCCC
+B''''BB''''''''''''''''''''''''''''''CCCCCC '''''''''''''''C'CCCCCCCCC      CCCCCC
+HXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXXXXXXXXXXXX X
+XCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CCCCCCCCCCCCCCC C
 -------------------------------------"""""""---------------"-""-""""""++++++"+""""""+++==MMMMM-M----ZZZZZZXZZXZZZZXXXXXXXAXXXXAAAAAA
+.....................................+++++++...............+.++.++++++CCCCCC+C++++++CCCCC     C CCCC
+'''''''''''''''''''''''''''''''''''''CCCCCCC'''''''''''''''C'CC'CCCCCC      C CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXXXXXXXXXXXX X  X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CCCCCCCCCCCCCCC C  C
 ---------------------------------------""""---------------------""""""""++++++""""""+++===MMMMM-M----ZZZZZZZZXZXZXXZZXZXXXXXXXXAAAAA
+.......................................++++.....................++++++++CCCCCC++++++CCCCCC     C CCCC
+'''''''''''''''''''''''''''''''''''''''CCCC'''''''''''''''''''''CCCCCCCC      CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCCCCCCCCCCCCCCCC
 -------------------------------------"--""-""--"------"-----"""-"""""++++=+++++""""""+++==MMMMMM----Z-Z-ZZZZXZZZXXZXXXXXXXXXXXXXAAAA
+.....................................+..++.++..+......+.....+++.+++++CCCCCCCCCC++++++CCCCC      CCCC C C
+'''''''''''''''''''''''''''''''''''''C''CC'CC''C''''''C'''''CCC'CCCCC          CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X  XX XXXXXX XXXXX   X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C  CC CCCCCC CCCCC   C
 --------"-----------------------------------"--------------"----"""""+++"+++++"+""""++"+===M=MMMM--Z-----ZZZZZZZXXZZXXXXXXXXAXXAXAAA
+........C...................................+..............+....+++++CCC+CCCCC+C++++CC+CCCC C    CC CCCCC
+''''''''B'''''''''''''''''''''''''''''''''''C''''''''''''''C''''CCCCC   C     C CCCC  C
+XXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXX
+CCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCC CCCC
 --------------------------------------------"-"---------------"-""""""++++++++++""""+"++===M=MMMM----ZZ-ZZ-ZXZZZZZZXXXXXXXXXXAAAAAXA
+............................................+.+...............+.++++++CCCCCCCCCC++++C+CCCCC C    CCCC  C  C
+''''''''''''''''''''''''''''''''''''''''''''C'C'''''''''''''''C'CCCCCC          CCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCCCCCCCCCCC C
 ---------"----------------------------------"----------------""""""""""+++++++++""""+"++++==MMMMM-----Z-Z-ZZZXXZZZXXXZXXXXXAXAXAAAAA
+.........C..................................+................++++++++++CCCCCCCCC++++C+CCCCCC     CCCCC C C
+'''''''''B''''''''''''''''''''''''''''''''''C''''''''''''''''CCCCCCCCCC         CCCC C
+XXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+CCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC
 ---------------------------------------"---""--"-"-----------""""""""+++++++++++""""""+"++==MMMMM-----ZZZZZZZZZZXZXZXXXXXXAAIAAAAAIA
+.......................................+...++..+.+...........++++++++CCCCCCCCCCC++++++C+CCCC     CCCCC
+'''''''''''''''''''''''''''''''''''''''C'''CC''C'C'''''''''''CCCCCCCC           CCCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX  XX X XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC  CC C CCCCCCCCCCC
 --------------------------------------------------------------"--"""""M++++++++++""""""+++===MMMMMM---Z--Z-ZZZZZZXXZXXXXXXXAAAAAAAAA
+..............................................................+..+++++ CCCCCCCCCC++++++CCCCCC      CCC CC C
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''CCCCC           CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC
 --------------------------------------------------------------"-""""""+"++++++++++"""""+++=====MMMM---Z--ZZ-ZZZZXXXZXXXXXXXXAAAAAAII
+..............................................................+.++++++C+CCCCCCCCCC+++++CCCCCCCC    CCC CC  C
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'CCCCCC C          CCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
 --------------------------------------------------------------"-""""""+++++"++++++"""""""++===MMMMM------ZZZZZZZXXZXXXXXXXAXAAAAAAAA
+..............................................................+.++++++CCCCC+CCCCCC+++++++CCCCC     CCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'CCCCCC     C      CCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
 --------------------------------------------------"-"------"---"""""""+++++++++=++++""""+++===MMMMM------ZZZZZZZZXZXZXXXXAAAAAIAAAIA
+..................................................+.+......+...+++++++CCCCCCCCCCCCCC++++CCCCCC     CCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''C'C''''''C'''CCCCCCC              CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXXXX XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCCCC CCC
 ---------------------------------------------------"--"-------"--"""""""++++++++++++"""""+====MMMMMM----ZZZZ--ZZZZZZXZZXXXXAAAAAAAAA
+...................................................+..+.......+..+++++++CCCCCCCCCCCC+++++CCCCC      CCCC    CC
+'''''''''''''''''''''''''''''''''''''''''''''''''''C''C'''''''C''CCCCCCC            CCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX XXXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC CCCCCCC CC
 -----------------------------------------------------"""------"""""""""++"++++++=+++"+""""+===MM=MMM----ZZ---ZZZZZZZXZZXX=AAAAAAXAII
+.....................................................+++......+++++++++CC+CCCCCCCCCC+C++++CCCC  C   CCCC  CCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''CCC''''''CCCCCCCCC  C          C CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCC
 -----------------------------------------------------"-"""----""-""""""+"+++++++++++++"""++++===MMMM----------Z-ZZZZZZZZZIXXXAAXAAAA
+.....................................................+.+++....++.++++++C+CCCCCCCCCCCCC+++CCCCCCC    CCCCCCCCCC C
+'''''''''''''''''''''''''''''''''''''''''''''''''''''C'CCC''''CC'CCCCCC C             CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X   XXXX  X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C   CCCC  C
 -------"--------"----------------------------------""""""""---""-"-""+""++++++++==+==+"""++===M=MMMM------ZZ--ZZZZZZZZZZZXXXAAAXAAAA
+.......C........+..................................++++++++...++.+.++C++CCCCCCCCCCCCCC+++CCCCC C    CCCCCC  CC
+'''''''B''''''''C''''''''''''''''''''''''''''''''''CCCCCCCC'''CC'C'CC CC              CCC
+XXXXXXXHXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        XXX  X X
+CCCCCCCXCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        CCC  C C
 -------------------------------------------------------"""""---"--""""""++++++=++++++++""+++====MMMMMM---------------ZZZZZZZXXXXAAAA
+.......................................................+++++...+..++++++CCCCCCCCCCCCCCC++CCCCCCC      CCCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC'''C''CCCCCC               CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     XXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     CCC CC
 --"-------------------------------------------------"-"""+""---"-"""""""++++++=+=++++++"""++====MMMMMMM-------Z------ZZ-ZZZZXXXXXXXA
+..C.................................................+.+++C++...+.+++++++CCCCCCCCCCCCCCC+++CCCCCC       CCCCCCC CCCCCC  C
+''B'''''''''''''''''''''''''''''''''''''''''''''''''C'CCC CC'''C'CCCCCCC               CCC
+XXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X      XXX X
+CCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C      CCC C
 --"-------"-------------------------------"---------"-"""+"""---""-""""""+++++=+=+=++++++""++==M=MMMMM--M------------Z-----ZZZXXXXXA
+..C.......C...............................+.........+.+++C+++...++.++++++CCCCCCCCCCCCCCCC++CCCC C     CC CCCCCCCCCCCC CCCCC
+''B'''''''B'''''''''''''''''''''''''''''''C'''''''''C'CCC CCC'''CC'CCCCCC                CC
+XXHXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX X       XXX  X
+CCXCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC C       CCC  C
 -----------------------------------"----------------""""+"++"""""-"-""""++++++=+++=++=++++"++====MMMMMM-M-----------------Z-ZZZZXXXX
+...................................+................++++C+CC+++++.+.++++CCCCCCCCCCCCCCCCCC+CCCCCC      C CCCCCCCCCCCCCCCCC C
+'''''''''''''''''''''''''''''''''''C''''''''''''''''CCCC C  CCCCC'C'CCCC                  C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX             X X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC             C C
 ----------------------"------------------"---------"""""""+""""-"--"""""""+++++++++++++++""+====M=MMMMM------------M---M-----ZZZZZZX
+......................+..................C.........+++++++C++++.+..+++++++CCCCCCCCCCCCCCC++CCCCC C     CCCCCCCCCCCC CCC CCCCC
+''''''''''''''''''''''C''''''''''''''''''B'''''''''CCCCCCC CCCC'C''CCCCCCC               CC
+XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXHXXXXXXXXX            X XX
+CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCXCCCCCCCCC            C CC
 --------------------------------"-------------------""""""++++""---"""""""""+++++====+++++++++====MMMM---M--------MMM-MM--M-----ZZZX
+................................+...................++++++CCCC++...+++++++++CCCCCCCCCCCCCCCCCCCCCC    CCC CCCCCCCC   C  CC CCCCC
+''''''''''''''''''''''''''''''''C'''''''''''''''''''CCCCCC    CC'''CCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX            XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC            CCC
 --------------------------------"-------------------"""""""++"+"---"-""""""+"+++++====++++++++M===M=MMMM-M-M-------MM-MMMMMM----ZZZZ
+................................+...................+++++++CC+C+...+.++++++C+CCCCCCCCCCCCCCCCC CCC C    C C CCCCCCC  C      CCCC
+''''''''''''''''''''''''''''''''C'''''''''''''''''''CCCCCCC  C C'''C'CCCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX            XXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC            CCC C
 ---------------------------------------------------""""+"""++++""--"-"""""++"++++=+++=++++""++======MMM-M---------M-MMMMM-MM-M----ZZ
+...................................................++++C+++CCCC++..+.+++++CC+CCCCCCCCCCCCC++CCCCCCCC   C CCCCCCCCC C     C  C CCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''CCCC CCC    CC''C'CCCCC  C             CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CC C
 ---------------------------------------------------""""+"++""+++"--"--""""""""+++++=++=++++++++=====M=MMMMM--------MMMMMMMMM-MM----Z
+...................................................++++C+CC++CCC+..+..++++++++CCCCCCCCCCCCCCCCCCCCCC C     CCCCCCCC         C  CCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''CCCC C  CC   C''C''CCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX              XX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC              CC CC
 ---------------------------------------------------""""""+++++++""-"--"""""""""++++==++=++++++++=====MMMMM--------M-MMMMMMMMMMMMM---
+...................................................++++++CCCCCCC++.+..+++++++++CCCCCCCCCCCCCCCCCCCCCC     CCCCCCCC C             CCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCC       CC'C''CCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX               X XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               C CC
 -------------------------------------------------"-""""++++++++"+"""-"""""""""++++++==+=++++++++=====MMMMMM--------MMMM=M=MMMMMMM---
+.................................................+.++++CCCCCCCC+C+++.+++++++++CCCCCCCCCCCCCCCCCCCCCCC      CCCCCCCC    C C       CCC
+'''''''''''''''''''''''''''''''''''''''''''''''''C'CCCC        C CCC'CCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X                 X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C                 C
 --------------------------------------------------"""""+"++++++++++""-"""""""++"++++====+=+=+++========MMM-M---------MMMM=MMMMMMMM-M
+..................................................+++++C+CCCCCCCCCC++.+++++++CC+CCCCCCCCCCCCCCCCCCCCCCC   C CCCCCCCCC    C        C
+''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC C          CC'CCCCCCC  C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                   X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                   C
 --------------""---------------------------------"""""""+++"++++++++"""""""""""""++++++==++++"+++======MMMMMMM-----MM-M=MMMMMMMMMMMM
+..............CC.................................+++++++CCC+CCCCCCCC+++++++++++++CCCCCCCCCCCC+CCCCCCCCC       CCCCC  C C
+''''''''''''''BB'''''''''''''''''''''''''''''''''CCCCCCC   C        CCCCCCCCCCCCC            C
+XXXXXXXXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -----------------"------------------------------"""""""""++++++++++++"""-""""""+""+++++==+++""++++====MMMM=MMM-----M-MMMMM=M=MMMMMMM
+.................C..............................+++++++++CCCCCCCCCCCC+++.++++++C++CCCCCCCCCC++CCCCCCCC    C   CCCCC C     C C
+'''''''''''''''''B''''''''''''''''''''''''''''''CCCCCCCCC            CCC'CCCCCC CC          CC
+XXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                        X
+CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                        C
 -----------------"----------------"----"--------"""""""""++"+++"+++++++"-""""""+"+"+++++++++++++++======MMMMM------MMMMMMMMM=M=M=MMM
+.................C................+....C........+++++++++CC+CCC+CCCCCCC+.++++++C+C+CCCCCCCCCCCCCCCCCCCCC     CCCCCC         C C C
+'''''''''''''''''B''''''''''''''''C''''B''''''''CCCCCCCCC  C   C       C'CCCCCC C C
+XXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXX XXXXHXXXXXXXX                        X
+CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCC CCCCXCCCCCCCC                        C
 ------------------------------"-----------+----"""""+""""++++++++++++++""""""""++++++=+++++++++++++======MMMM-M------MMMMM==M===MM-M
+..............................+...........C....+++++C++++CCCCCCCCCCCCCC++++++++CCCCCCCCCCCCCCCCCCCCCCCCCC    C CCCCCC     CC CCC  C
+''''''''''''''''''''''''''''''C''''''''''' ''''CCCCC CCCC              CCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC CCCC
 ----------------------------------------------"-"""""+"""++++++++++++=++"""""""+"+++++++++++++"+++=====M=MMMMMMM------MMMM=======MMM
+..............................................+.+++++C+++CCCCCCCCCCCCCCC+++++++C+CCCCCCCCCCCCC+CCCCCCCC C       CCCCCC    CCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''C'CCCCC CCC               CCCCCCC C             C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
 --------------------------------------------"""""""""""++++++++++++++==+""""""""+++++++++++=+++"++=====M=MMMMM-M------MMMMM==M=M=MMM
+............................................+++++++++++CCCCCCCCCCCCCCCCC++++++++CCCCCCCCCCCCCCC+CCCCCCC C     C CCCCCC     CC C C
+''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCC                 CCCCCCCC               C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ---------------+----------------------------""""""""""""+++++++++++"++++""""""""++"+++++=+++++"++++++====M==MMMM----MMMMMM===M===MMM
+...............C............................++++++++++++CCCCCCCCCCC+CCCC++++++++CC+CCCCCCCCCCC+CCCCCCCCCC CC    CCCC      CCC CCC
+''''''''''''''' ''''''''''''''''''''''''''''CCCCCCCCCCCC           C    CCCCCCCC  C           C
+XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -"--"--"----------------------------""""""""""""""""""+"+++++++++++"+"+++=+""""""++"+++++++++++"++++=====MMMMMM---ZZ-MMMMMM==MMM=MMM
+.+..+..+............................++++++++++++++++++C+CCCCCCCCCCC+C+CCCCC++++++CC+CCCCCCCCCCC+CCCCCCCCC      CCC  C      CC   C
+'C''C''C''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCC C           C C     CCCCCC  C           C
+X XX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX
+C CC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
 "---"--"--------------------""-------"-""""""""""+"""""+++"++++""+++++=+==+"""""+++"+++++++++++""+++=======MM-M-------MMMMM==MMM=M=M
++...+..+....................++.......+.++++++++++C+++++CCC+CCCC++CCCCCCCCCC+++++CCC+CCCCCCCCCCC++CCCCCCCCCC  C CCCCCCC     CC   C C
+C'''C''C''''''''''''''''''''CC'''''''C'CCCCCCCCCC CCCCC   C    CC          CCCCC   C           CC
+ XXX XX XXXXXXXXXXXXXXXXXXXX  XXXXXXX X
+ CCC CC CCCCCCCCCCCCCCCCCCCC  CCCCCCC C
 -"--""-"-----------------"--""---"-"""-""""""""""""++++++++"++"++=++=++++==+""""""+""+++++++==+""+++========MM-M------MMMMM=MMMM===M
+.+..++.+.................+..++...+.+++.++++++++++++CCCCCCCC+CC+CCCCCCCCCCCCC++++++C++CCCCCCCCCC++CCCCCCCCCCC  C CCCCCC     C    CCC
+'C''CC'C'''''''''''''''''C''CC'''C'CCC'CCCCCCCCCCCC        C  C             CCCCCC CC          CC
+X XX  X XXXXXXXXXXXXXXXXX XX  XXX X   X
+C CC  C CCCCCCCCCCCCCCCCC CC  CCC C   C
 ----"-""--"----------------""""""""""""-"""-"-"""""+++"+++""++""+===++++++="""""""""""++++++=+++""+++=======MMMMM----MMM=====M====MM
+....+.++..+................++++++++++++.+++.+.+++++CCC+CCC++CC++CCCCCCCCCCC+++++++++++CCCCCCCCCC++CCCCCCCCCC     CCCC   CCCCC CCCC
+''''C'CC''C''''''''''''''''CCCCCCCCCCCC'CCC'C'CCCCC   C   CC  CC           CCCCCCCCCCC          CC
+XXXX X  XX XXXXXXXXXXXXXXXX            X   X X
+CCCC C  CC CCCCCCCCCCCCCCCC            C   C C
 ""-"""""-"----"-----"-----""""""-""""""""""""-""+""++""""++"+"++++=+++====+"+"""""""+++++++++=+"""++=+====MMMMM------MMMM=MM=====MMM
+++.+++++.+....+.....+.....++++++.++++++++++++.++C++CC++++CC+C+CCCCCCCCCCCCC+C+++++++CCCCCCCCCCC+++CCCCCCCC     CCCCCC    C  CCCCC
+CC'CCCCC'C''''C'''''C'''''CCCCCC'CCCCCCCCCCCC'CC CC  CCCC  C C             C CCCCCCC           CCC
+  X     X XXXX XXXXX XXXXX      X            X
+  C     C CCCC CCCCC CCCCC      C            C
 --"""-"---------"--------"--"-""""""""""""""""""""""""+""+"++"""+"+++++++=++""""""""""++++++++++""++++=======MMM-M----MMMM======MMMM
+..+++.+.........+........+..+.++++++++++++++++++++++++C++C+CC+++C+CCCCCCCCCC++++++++++CCCCCCCCCC++CCCCCCCCCCC   C CCCC    CCCCCC
+''CCC'C'''''''''C''''''''C''C'CCCCCCCCCCCCCCCCCCCCCCCC CC C  CCC C          CCCCCCCCCC          CC
+XX   X XXXXXXXXX XXXXXXXX XX X
+CC   C CCCCCCCCC CCCCCCCC CC C
 -"--"-"""-------------"---"""""""""""""""""""""""+"""""""""+"""++""==++=+=++"""""""""++"+++++"++"""++========MMM-MM---MMM===M==MMMMM
+.+..+.+++.............+...+++++++++++++++++++++++C+++++++++C+++CC++CCCCCCCCC+++++++++CC+CCCCC+CC+++CCCCCCCCCC   C  CCC   CCC CC
+'C''C'CCC'''''''''''''C'''CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC CCC  CC         CCCCCCCCC  C     C  CCC
+X XX X   XXXXXXXXXXXXX XXX
+C CC C   CCCCCCCCCCCCC CCC
 ---""""""---""--"-----"--"""""-"""""-""""""-"""""+"""""""""++""+++"++++++==+++"""""""+""+++++++++"++===+==M=MM--M-MM--MMM===M===MMMM
+...++++++...++..+.....+..+++++.+++++.++++++.+++++C+++++++++CC++CCC+CCCCCCCCCCC+++++++C++CCCCCCCCC+CCCCCCCC C  CC C  CC   CCC CCC
+'''CCCCCC'''CC''C'''''C''CCCCC'CCCCC'CCCCCC'CCCCC CCCCCCCCC  CC   C           CCCCCCC CC         C
+XXX      XXX  XX XXXXX XX     X     X      X
+CCC      CCC  CC CCCCC CC     C     C      C
 """"""""----"-"--"----"-""""""""""""""""""""+""""""++"+++++"+++++++""+++++=+++"""""""""+++++++++""+++=+===M=MMMMM----MMM===MMMMMMM--
+++++++++....+.+..+....+.++++++++++++++++++++C++++++CC+CCCCC+CCCCCCC++CCCCCCCCC+++++++++CCCCCCCCC++CCCCCCCC C     CCCC   CCC       CC
+CCCCCCCC''''C'C''C''''C'CCCCCCCCCCCCCCCCCCCC CCCCCC  C     C       CC         CCCCCCCCC         CC
+        XXXX X XX XXXX X
+        CCCC C CC CCCC C
 -"""""""----"------"--"-""""""""-"""""""""""""""""""+++++"+++""+++=+++++++++++"""-"""++++++++++++"++++=======MMMM-MMMMMMMM======MMMM
+.+++++++....+......+..+.++++++++.+++++++++++++++++++CCCCC+CCC++CCCCCCCCCCCCCCC+++.+++CCCCCCCCCCCC+CCCCCCCCCCC    C        CCCCCC
+'CCCCCCC''''C''''''C''C'CCCCCCCC'CCCCCCCCCCCCCCCCCCC     C   CC               CCC'CCC            C
+X       XXXX XXXXXX XX X        X                                                X
+C       CCCC CCCCCC CC C        C                                                C
 -""""""-----"--------""-""""""-""""""""""""""""++++"+++++""++""+++++++++++=+++""""""""+++++++++="+++++=======MMMMM-M-MMM=M======MMMM
+.++++++.....+........++.++++++.++++++++++++++++CCCC+CCCCC++CC++CCCCCCCCCCCCCCC++++++++CCCCCCCCCC+CCCCCCCCCCCC     C C   C CCCCCC
+'CCCCCC'''''C''''''''CC'CCCCCC'CCCCCCCCCCCCCCCC    C     CC  CC               CCCCCCCC          C
+X      XXXXX XXXXXXXX  X      X
+C      CCCCC CCCCCCCC  C      C
 -""""""-----"""------""-""""""-"""""""""""""""""""+"""+++"""++"++++=++++++++++""""""""+++++++++++"+++=+====M=MMMM-M--MMM=M===MM=MMMM
+.++++++.....+++......++.++++++.+++++++++++++++++++C+++CCC+++CC+CCCCCCCCCCCCCCC++++++++CCCCCCCCCCC+CCCCCCCCC C    C CC   C CCC  C
+'CCCCCC'''''CCC''''''CC'CCCCCC'CCCCCCCCCCCCCCCCCCC CCC   CCC  C               CCCCCCCC           C
+X      XXXXX   XXXXXX  X      X
+C      CCCCC   CCCCCC  C      C
 """"""----"""""""--""""""""""""""""""""""""""""+""++++"+"+""++===+=+""+=++=+++""""""+++++++++++"++"++++========M--M-M-M======MMMMMMM
+++++++....+++++++..++++++++++++++++++++++++++++C++CCCC+C+C++CCCCCCCC++CCCCCCCC++++++CCCCCCCCCCC+CC+CCCCCCCCCCCC CC C C CCCCCC
+CCCCCC''''CCCCCCC''CCCCCCCCCCCCCCCCCCCCCCCCCCCC CC    C C CC        CC        CCCCCC           C  C
+      XXXX       XX
+      CCCC       CC
 ---"""----""----"---"""-"""""""""""""""""""""""+"""++++++""+++++++++"+++++++++"""""""""++++++++++++++========M=MMM-ZMM==M=====MM=MMM
+...+++....++....+...+++.+++++++++++++++++++++++C+++CCCCCC++CCCCCCCCC+CCCCCCCCC+++++++++CCCCCCCCCCCCCCCCCCCCCC C   C   CC CCCCC  C
+'''CCC''''CC''''C'''CCC'CCCCCCCCCCCCCCCCCCCCCCC CCC      CC         C         CCCCCCCCC
+XXX   XXXX  XXXX XXX   X
+CCC   CCCC  CCCC CCC   C
 -"""""----"-"-"-""-"""--""+""""""+"""""""""""""""""+++"+++++""""++++"+++++++++"""""""""++++++++++++++======MMMMMMMMMMM========MMMM-M
+.+++++....+.+.+.++.+++..++C++++++C+++++++++++++++++CCC+CCCCC++++CCCC+CCCCCCCCC+++++++++CCCCCCCCCCCCCCCCCCCC           CCCCCCCC    C
+'CCCCC''''C'C'C'CC'CCC''CC CCCCCC CCCCCCCCCCCCCCCCC   C     CCCC    C         CCCCCCCCC
+X     XXXX X X X  X   XX
+C     CCCC C C C  C   CC
 -"""""""--""--""""-""""-""+"""""+""""""""""""""""""""""++"""""""+++=+++++==+++"""-"""+++++++++++"+++======M=MM=MMM=MM=========MMMM-M
+.+++++++..++..++++.++++.++C+++++C++++++++++++++++++++++CC+++++++CCCCCCCCCCCCCC+++.+++CCCCCCCCCCC+CCCCCCCCC C  C   C  CCCCCCCCC    C
+'CCCCCCC''CC''CCCC'CCCC'CC CCCCC CCCCCCCCCCCCCCCCCCCCCC  CCCCCCC              CCC'CCC           C
+X       XX  XX    X    X                                                         X
+C       CC  CC    C    C                                                         C
 """""""""""---""""-"""""""""""""""""""""""""""++"""""""++""++"+++++++=++===++++"""""""+""+++++++++++++=======M==M=M===++======MMMM--
++++++++++++...++++.+++++++++++++++++++++++++++CC+++++++CC++CC+CCCCCCCCCCCCCCCCC+++++++C++CCCCCCCCCCCCCCCCCCCC CC C CCCCCCCCCCC    CC
+CCCCCCCCCCC'''CCCC'CCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCC  CC  C                 CCCCCCC CC
+           XXX    X
+           CCC    C
 """-"""""-"-+"""""""+""""++""""""""""+"""""-"+"+""""+"""+++++++"+"++++++==++++"""""""""+++"+++++++++++==+====M===M====++=====MMMM---
++++.+++++.+.C+++++++C++++CC++++++++++C+++++.+C+C++++C+++CCCCCCC+C+CCCCCCCCCCCC+++++++++CCC+CCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCC    CCC
+CCC'CCCCC'C' CCCCCCC CCCC  CCCCCCCCCC CCCCC'C C CCCC CCC       C C            CCCCCCCCC   C
+   X     X X                               X
+   C     C C                               C
 """""-"""-"""""""""""""""++""""""""""+""+""""+++""+++++++++"+++""""++=====++++""-"""""++++"+++++++++++=++===M=========++=====MMM----
++++++.+++.+++++++++++++++CC++++++++++C++C++++CCC++CCCCCCCCC+CCC++++CCCCCCCCCCC++.+++++CCCC+CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC   CCCC
+CCCCC'CCC'CCCCCCCCCCCCCCC  CCCCCCCCCC CC CCCC   CC         C   CCCC           CC'CCCCC    C
+     X   X                                                                      X
+     C   C                                                                      C
 """""--""""""-""""""""""+++"""""+""+"++"+"""""+++++++++++++++""""++++====++++"""--""""+++"+++++++"++++===============+=++===MMMMM---
++++++..++++++.++++++++++CCC+++++C++C+CC+C+++++CCCCCCCCCCCCCCC++++CCCCCCCCCCCC+++..++++CCC+CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC     CCC
+CCCCC''CCCCCC'CCCCCCCCCC   CCCCC CC C  C CCCCC               CCCC            CCC''CCCC   C       C
+     XX      X                                                                  XX
+     CC      C                                                                  CC
 """-"""""-"""""""""""""""++""+""+""+"+++"+"""""+++++++"+++++"+""+++++==+++=+"""-"""""+"+++"+=++++++++++=========M===+==++===M=MMMM--
++++.+++++.+++++++++++++++CC++C++C++C+CCC+C+++++CCCCCCC+CCCCC+C++CCCCCCCCCCCC+++.+++++C+CCC+CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC C    CC
+CCC'CCCCC'CCCCCCCCCCCCCCC  CC CC CC C   C CCCCC       C     C CC            CCC'CCCCC C   C
+   X     X                                                                     X
+   C     C                                                                     C
 """""-"""""--""""""-"""""+"""""""""""++++""""-"+++++"""+"""+""+""++""=++++++""""-""""""++++++++++++++++============++++=+===MMMMMM--
++++++.+++++..++++++.+++++C+++++++++++CCCC++++.+CCCCC+++C+++C++C++CC++CCCCCCC++++.++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CC
+CCCCC'CCCCC''CCCCCC'CCCCC CCCCCCCCCCC    CCCC'C     CCC CCC CC CC  CC       CCCC'CCCCCC
+     X     XX      X                         X                                  X
+     C     CC      C                         C                                  C
 """-"""""""-"""""""""""""++""""""+""+++++""""""+"+""++++""+"""+"""++"++++++""+"-""""""++++"++++++++++==============++++====MMMMMMM--
++++.+++++++.+++++++++++++CC++++++C++CCCCC++++++C+C++CCCC++C+++C+++CC+CCCCCC++C+.++++++CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CC
+CCC'CCCCCCC'CCCCCCCCCCCCC  CCCCCC CC     CCCCCC C CC    CC CCC CCC  C      CC C'CCCCCC    C
+   X       X                                                                   X
+   C       C                                                                   C
 ""--"""""----""""""""""""++""""""""+"++++"""""""""""+++++++"""+++"++++++++++"+"--"""""""+""++++++++++============+++++====MMMMMMMM--
+++..+++++....++++++++++++CC++++++++C+CCCC+++++++++++CCCCCCC+++CCC+CCCCCCCCCC+C+..+++++++C++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        CC
+CC''CCCCC''''CCCCCCCCCCCC  CCCCCCCC C    CCCCCCCCCCC       CCC   C          C C''CCCCCCC CC
+  XX     XXXX                                                                  XX
+  CC     CCCC                                                                  CC
 """-""""""""-"""""""""""""""""+"+""+""++"+""+++++""+"++=++++"++++""++++++++++""-"""""""+++++++++++++======M==M==++=+++====MMMMM--M--
++++.++++++++.+++++++++++++++++C+C++C++CC+C++CCCCC++C+CCCCCCC+CCCC++CCCCCCCCCC++.+++++++CCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCC     CC CC
+CCC'CCCCCCCC'CCCCCCCCCCCCCCCCC C CC CC  C CC     CC C       C    CC          CC'CCCCCCC
+   X        X                                                                  X
+   C        C                                                                  C
 """"""""-"-"-""""-"""""-""+"+""""""+""+++"-""+++""+"""++++"""""+++"+"+++++++"""-"""""""+++++++++++++==========++++++++===MMMMM-M----
+++++++++.+.+.++++.+++++.++C+C++++++C++CCC+.++CCC++C+++CCCC+++++CCC+C+CCCCCCC+++.+++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     C CCCC
+CCCCCCCC'C'C'CCCC'CCCCC'CC C CCCCCC CC   C'CC   CC CCC    CCCCC   C C       CCC'CCCCCCC
+        X X X    X     X                  X                                    X
+        C C C    C     C                  C                                    C
 "+"""+""""-""""""--""""""+++++"+""++""+++""""+++"""++"+++"""""""+++++++=++++""-""""""""++++++++++++++=========+++++======MM-MM----Z-
++C+++C++++.++++++..++++++CCCCC+C++CC++CCC++++CCC+++CC+CCC+++++++CCCCCCCCCCCC++.++++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C  CCCC C
+C CCC CCCC'CCCCCC''CCCCCC     C CC  CC   CCCC   CCC  C   CCCCCCC            CC'CCCCCCCC
+          X      XX                                                           X
+          C      CC                                                           C
 ""-""""+"-"""""""""""""""++++"+""""+"++++""""+++"""+++++""""""""++++""++++++"""""""""""++"++++++++=++========++++++===MMMMM-------Z-
+++.++++C+.+++++++++++++++CCCC+C++++C+CCCC++++CCC+++CCCCC++++++++CCCC++CCCCCC+++++++++++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC     CCCCCCC C
+CC'CCCC C'CCCCCCCCCCCCCCC    C CCCC C    CCCC   CCC     CCCCCCCC    CC      CCCCCCCCCCC  C
+  X      X
+  C      C
 """"+""+""""""""""""""="+++++""++"+++++++"""""+"++"++++=+"+"+"""+++++++++++++--""""""""+++++++++++=====M====++++=====MMMMM-M----Z-ZZ
+++++C++C++++++++++++++C+CCCCC++CC+CCCCCCC+++++C+CC+CCCCCC+C+C+++CCCCCCCCCCCCC..++++++++CCCCCCCCCCCCCCCC CCCCCCCCCCCCC     C CCCC C
+CCCC CC CCCCCCCCCCCCCC C     CC  C       CCCCC C  C      C C CCC             ''CCCCCCCC
+                                                                             XX
+                                                                             CC
 """"+"""+-"""""""""""""""+++""""""""+M+++"""""+""++++"++"+"+++"""""+"+""++++"--"""""""""""+++++++++====M===++=++======MM--------ZZZZ
+++++C+++C.+++++++++++++++CCC++++++++C CCC+++++C++CCCC+CC+C+CCC+++++C+C++CCCC+..+++++++++++CCCCCCCCCCCCC CCCCCCCCCCCCCC  CCCCCCCC
+CCCC CCC 'CCCCCCCCCCCCCCC   CCCCCCCC     CCCCC CC    C  C C   CCCCC C CC    C''CCCCCCCCCCC
+         X                                                                   XX
+         C                                                                   CC
 """"""""+"""""""""""""""++++"+""""""++M=+"""""+""++"+"++""""+++""""""+++++++""-"""""""""+"+++++++=======++++====-==M=MMM-------ZZZZZ
+++++++++C+++++++++++++++CCCC+C++++++CC CC+++++C++CC+C+CC++++CCC++++++CCCCCCC++.+++++++++C+CCCCCCCCCCCCCCCCCCCCCCCCC C   CCCCCCC
+CCCCCCCC CCCCCCCCCCCCCCC    C CCCCCC     CCCCC CC  C C  CCCC   CCCCCC       CC'CCCCCCCCC C
+                                                                              X
+                                                                              C
 """""""""""""""""""""""""++""+++""""++=MM"""""++++++"+++""+"""++""""""++"++"""-"""-""""++"+++++++=======++++===XX==MMMMM----ZZ-Z-ZZZ
++++++++++++++++++++++++++CC++CCC++++CCC  +++++CCCCCC+CCC++C+++CC++++++CC+CC+++.+++.++++CC+CCCCCCCCCCCCCCCCCCCCC  CC     CCCC  C C
+CCCCCCCCCCCCCCCCCCCCCCCCC  CC   CCCC     CCCCC      C   CC CCC  CCCCCC  C  CCC'CCC'CCCC  C
+                                                                              X   X
+                                                                              C   C
 """"""+""+""+"""""+""++"++++""+"+"""+++=MM""+++++++++++=""+"""++"""""++++"+"""-""-"""""++""++++=++===+===+==+====M-MMM-----ZZ-ZZZXZZ
+++++++C++C++C+++++C++CC+CCCC++C+C+++CCCC  ++CCCCCCCCCCCC++C+++CC+++++CCCC+C+++.++.+++++CC++CCCCCCCCCCCCCCCCCCCCCC C   CCCCC  C
+CCCCCC CC CC CCCCC CC  C    CC C CCC      CC            CC CCC  CCCCC    C CCC'CC'CCCCC  CC
+                                                                              X  X
+                                                                              C  C
 """""""""+"""+""""""""""+++++"+"++"++++++-="+++++++++"++"++"++"""""""++++++"""""-""""+"+""+++++++==++=++++=+===M=MMM-M-----ZZZ-ZXZXX
++++++++++C+++C++++++++++CCCCC+C+CC+CCCCCCCC+CCCCCCCCC+CC+CC+CC+++++++CCCCCC+++++.++++C+C++CCCCCCCCCCCCCCCCCCCCC C   C CCCCC   C
+CCCCCCCCC CCC CCCCCCCCCC     C C  C        C         C  C  C  CCCCCCC      CCCCC'CCCC C CC
+                                                                                X
+                                                                                C
 """"""""""""+"""""""""""++++""+"+++++++++-M+++=+"""""+++"+++++"++""+++++"+"-""""-"-""+++"++++++++=+=+++++====M===MMM-------ZZZZZZXXX
+++++++++++++C+++++++++++CCCC++C+CCCCCCCCCC CCCCC+++++CCC+CCCCC+CC++CCCCC+C+.++++.+.++CCC+CCCCCCCCCCCCCCCCCCCC CCC   CCCCCCC
+CCCCCCCCCCCC CCCCCCCCCCC    CC C                CCCCC   C     C  CC     C C'CCCC'C'CC   C
+                                                                           X    X X
+                                                                           C    C C
 +""-""""""""""""""""""""++++""""""++++=++==-=++"""""++++++++++++++"+""++"+"-"--"-"""""++""+++++++=+++++=+=+===MMMM-M-------ZZZZZZXXX
+C++.++++++++++++++++++++CCCC++++++CCCCCCCCCCCCC+++++CCCCCCCCCCCCCC+C++CC+C+.+..+.+++++CC++CCCCCCCCCCCCCCCCCCCC    C CCCCCCC
+ CC'CCCCCCCCCCCCCCCCCCCC    CCCCCC             CCCCC              C CC  C C'C''C'CCCCC  CC
+   X                                                                       X XX X
+   C                                                                       C CC C
 ""-"""""""""""""""""+"""+++"""+++++"++M==""==+++"""""+++==+"+++=++"+"+++++""""""-"""""++++++++++++++++++++==MMMMMMM--Z-Z-ZZZZZXXXXXX
+++.+++++++++++++++++C+++CCC+++CCCCC+CC CC++CCCCC+++++CCCCCC+CCCCCC+C+CCCCC++++++.+++++CCCCCCCCCCCCCCCCCCCCCC       CC C C
+CC'CCCCCCCCCCCCCCCCC CCC   CCC     C     CC     CCCCC      C      C C     CCCCCC'CCCCC
+  X                                                                             X
+  C                                                                             C
 """""""""+""+""""-""""""""++"++"+++"+++++"""+++++""""+""+=+"++++++""+"+++"--""-"""""+"+"""""++++++++=++=+===MMMM----Z-ZZZZZZZZZZZXXX
++++++++++C++C++++.++++++++CC+CC+CCC+CCCCC+++CCCCC++++C++CCC+CCCCCC++C+CCC+..++.+++++C+C+++++CCCCCCCCCCCCCCCC    CCCC C
+CCCCCCCCC CC CCCC'CCCCCCCC  C  C   C     CCC     CCCC CC   C      CC C   C''CC'CCCCC C CCCCC
+                 X                                                        XX  X
+                 C                                                        CC  C
 """"""""""""+""""""""+""++++++++++++++=++"""+++"""""""+++++++++++""""++++"""""--""""+"+"""+++++++++++======MMMM-----ZZZZZZZZZZZXXXXX
+++++++++++++C++++++++C++CCCCCCCCCCCCCCCCC+++CCC+++++++CCCCCCCCCCC++++CCCC+++++..++++C+C+++CCCCCCCCCCCCCCCCC    CCCCC
+CCCCCCCCCCCC CCCCCCCC CC                 CCC   CCCCCCC           CCCC    CCCCC''CCCC C CCC
+                                                                              XX
+                                                                              CC
 """"""""+"+"""""""""""""++++++++"++++==++"""+++"""""++"+""""+""+++"""+++"-""""""""""""++++"+++++"+++=====MMMM-------ZZZZZZZXXZXXXXXX
+++++++++C+C+++++++++++++CCCCCCCC+CCCCCCCC+++CCC+++++CC+C++++C++CCC+++CCC+.++++++++++++CCCC+CCCCC+CCCCCCCC    CCCCCCC
+CCCCCCCC C CCCCCCCCCCCCC        C        CCC   CCCCC  C CCCC CC   CCC   C'CCCCCCCCCCCC    C     C
+                                                                         X
+                                                                         C
 """"""""="""+"""""+""""+++++++=+++"M+++++"""++""""+++"++"+"""+"++++""+++""-"""""""""+++"++"++"+++++======MMM----Z-XZZZZZXZXXXXXXXAAX
+++++++++C+++C+++++C++++CCCCCCCCCCC+ CCCCC+++CC++++CCC+CC+C+++C+CCCC++CCC++.+++++++++CCC+CC+CC+CCCCCCCCCCC   CCCC C
+CCCCCCCC CCC CCCCC CCCC           C      CCC  CCCC   C  C CCC C    CC   CC'CCCCCCCCC   C  C  C
+                                                                          X
+                                                                          C
 """""""+=+"+""""""++++=++++++++"""+"+++++"""+++""""++++++++"""++++""""+"""""""""""""+++++""+++"+++=====MMMMMMM----ZZZZZZZZZXXXXXAAXA
++++++++CCC+C++++++CCCCCCCCCCCCC+++C+CCCCC+++CCC++++CCCCCCCC+++CCCC++++C+++++++++++++CCCCC++CCC+CCCCCCCC       CCCC
+CCCCCCC   C CCCCCC             CCC C     CCC   CCCC        CCC    CCCC CCCCCCCCCCCCC     CC   C
+
+
 """"+""+=+"+"""""++++++"+++++++++++"+"+=++""+++""""++++++++"""+++++"""""""""""""""""+++++""++++++====M=MMMMMM----ZZZZZXXZZXXXXAXXXAX
+++++C++CCC+C+++++CCCCCC+CCCCCCCCCCC+C+CCCC++CCC++++CCCCCCCC+++CCCCC+++++++++++++++++CCCCC++CCCCCCCCCC C      CCCC
+CCCC CC   C CCCCC      C           C C    CC   CCCC        CCC     CCCCCCCCCCCCCCCCC     CC
+
+
 ""+"""""+="+"""""""""+"++++++++++++"+="++++"++++M+++"+"""+++"+++++"""+"-""""""""""""++++++++++++=======MMMM-------ZZZXAXZZXAAAXXXXXA
+++C+++++CC+C+++++++++C+CCCCCCCCCCCC+CC+CCCC+CCCC CCC+C+++CCC+CCCCC+++C+.++++++++++++CCCCCCCCCCCCCCCCCCC    CCCCCCC
+CC CCCCC  C CCCCCCCCC C            C  C    C        C CCC   C     CCC C'CCCCCCCCCCCC
+                                                                       X
+                                                                       C
 """""""++M""+"""+""++"""++++++++++"""++++"++="+++M++""+""+++"""++++"""""-"""""""""++++"+++++++++==M=MMMMM----ZZZ-ZZZAXAXXXXAAAXXAXAX
++++++++CC ++C+++C++CC+++CCCCCCCCCC+++CCCC+CCC+CCC CC++C++CCC+++CCCC+++++.+++++++++CCCC+CCCCCCCCCCC C     CCCC   C
+CCCCCCC   CC CCC CC  CCC          CCC    C   C      CC CC   CCC    CCCCC'CCCCCCCCC    C
+                                                                        X
+                                                                        C
 """""""""=+++++""""++""+++++++++"++++++++"""+"++=++""+++"+++++++"+"+""-""""+"""""+++++++++"+===+==MM=MM-M----ZZZ---XIAXXXXXXAAXAAAAA
++++++++++CCCCCC++++CC++CCCCCCCCC+CCCCCCCC+++C+CCCCC++CCC+CCCCCCC+C+C++.++++C+++++CCCCCCCCC+CCCCCCC  C  C CCCC   CCC
+CCCCCCCCC      CCCC  CC         C        CCC C     CC   C       C C CC'CCCC CCCCC         C
+                                                                      X
+                                                                      C
 +"""""+""=M=+"""""""++++++++=+++"+"+"++++"""++"""+=="++"+""+++"++"++"="""""+"""""+=+++++++++=M===MMMMMM------ZZZZZZX+AXXXXAXIAAAAIAI
+C+++++C++C CC+++++++CCCCCCCCCCCC+C+C+CCCC+++CC+++CCC+CC+C++CCC+CC+CC+C+++++C+++++CCCCCCCCCCCC CCC      CCCCCC
+ CCCCC CC    CCCCCCC            C C C    CCC  CCC   C  C CC   C  C  C CCCCC CCCCC
+
+
 """"""""+A-=++"""+"++++++++++++++++""++++"""++"""++=+++"+"""++++""+""+"-""+="""""M=++"+==+++MZM-MM-ZXXXXXXXXAIIAIIII++==I===++===I+=
+++++++++C CCCC+++C+CCCCCCCCCCCCCCCC++CCCC+++CC+++CCCCCC+C+++CCCC++C++C+.++CC+++++ CCC+CCCCCC   C  C
+CCCCCCCC      CCC C                CC    CCC  CCC      C CCC    CC CC C'CC  CCCCC    C
+                                                                       X
+                                                                       C
 +++"""""+X+=+++++++++"++=+++=+=+++++"+++=++++++"++-MM==+M=M=M=MM=+=++M===+M----M--Z--MM-M==MM=M=M-MMM-Z---Z--ZZZZXXZXXXXAIAAAAIAAIAI
+CCC+++++C CCCCCCCCCCC+CCCCCCCCCCCCCC+CCCCCCCCCC+CCC  CCC C C C  CCCCC CCCC CCCC CC CC  C CC  C C C   C CCC CC
+   CCCCC             C              C          C
+
+
 +++"+++=MM==M=+=+M+++++==+++===+M=+++=MMMM-M=MMMM=+=+++=+++=+=++++""""""""+""""++"""+"""++++=+====MM-MM---ZZZ-ZZZXXXXXXAAAAAIAAIIIII
+CCC+CCCC  CC CCCC CCCCCCCCCCCCCC CCCCC    C C    CCCCCCCCCCCCCCCCC++++++++C++++CC+++C+++CCCCCCCCCC  C  CCC   C
+   C                                                              CCCCCCCC CCCC  CCC CCC
+
+
 =M=++===MMMM===M=++==+++==+++"+++++"""+++"+++"""+""""""++++""++""-----"""""""""++"""""""++++==MMMM-MM-----ZZZZXXXXXXXXAAAAAAIIIIIIII
+C CCCCCC    CCC CCCCCCCCCCCCC+CCCCC+++CCC+CCC+++C++++++CCCC++CC++.....+++++++++CC+++++++CCCCCC    C  CCCCC
+                             C     CCC   C   CCC CCCCCC    CC  CC'''''CCCCCCCCC  CCCCCCC
+                                                                 XXXXX
+                                                                 CCCCC
 ""+""+""+++"+++++""+++++++""+"++"+""""++"""+""""++""""++"+"""""""----"""""""+"+"+"""""+"+++====-MM-M------ZZZXXXAXXXXAAIAAIIIIIIIIII
+++C++C++CCC+CCCCC++CCCCCCC++C+CC+C++++CC+++C++++CC++++CC+C+++++++....+++++++C+C+C+++++C+CCCCCCCC  C CCCCCC
+CC CC CC   C     CC       CC C  C CCCC  CCC CCCC  CCCC  C CCCCCCC''''CCCCCCC C C CCCCC C
+                                                                 XXXX
+                                                                 CCCC
 ++++="+"""++=+"+"+""+++"+"+++"+""++++=+++""""+""""""+""+++""""+""--"""""""""""+++++"""++=====MM--M--Z--ZZZXXXXXXAXXAAAA=IIII====I===
+CCCCC+C+++CCCC+C+C++CCC+C+CCC+C++CCCCCCCC++++C++++++C++CCC++++C++..+++++++++++CCCCC+++CCCCCCC  CC CC CC
+     C CCC    C C CC   C C   C CC        CCCC CCCCCC CC   CCCC CC''CCCCCCCCCCC     CCC
+                                                                 XX
+                                                                 CC
 +++++""++"++=="""""""+"++"+++++++++"+++==-+""+"""""""""""+""""""----""""""""++++++"+""++=====MM------ZZZXZXXXXXAAAAAAIII=III=III====
+CCCCC++CC+CCCC+++++++C+CC+CCCCCCCCC+CCCCCCC++C+++++++++++C++++++....++++++++CCCCCC+C++CCCCCCC  CCCCCC
+     CC  C    CCCCCCC C  C         C       CC CCCCCCCCCCC CCCCCC''''CCCCCCCC      C CC
+                                                                XXXX
+                                                                CCCC
 """+"""+""+++++"""+"++"++++++"++"+"""""+"""""++"""+"""""""""""""---"""""""+++++++++"+++====MMM-------ZZZZZZXXXXAXAAAAIAIIIII======++
++++C+++C++CCCCC+++C+CC+CCCCCC+CC+C+++++C+++++CC+++C+++++++++++++...+++++++CCCCCCCCC+CCCCCCC   CCCCCCC
+CCC CCC CC     CCC C  C      C  C CCCCC CCCCC  CCC CCCCCCCCCCCCC'''CCCCCCC         C
+                                                                XXX
+                                                                CCC
 """+""""""+++"+"""++""+++++++"+"""""""""""""""""""""++""""""""""---"""""""+++==++++++===M==MMM-------ZZZZZXXAXXXAAAAAIIIIIII=======+
++++C++++++CCC+C+++CC++CCCCCCC+C+++++++++++++++++++++CC++++++++++...+++++++CCCCCCCCCCCCCC CC   CCCCCCC
+CCC CCCCCC   C CCC  CC       C CCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCC'''CCCCCCC
+                                                                XXX
+                                                                CCC
 ++++""++"++++"""++++"""+++++++=""""""""""""""++++"""""""""+""""-"""""""+++++=====+++=====M=MMM-------ZZXXXXXAAAAAAIIIIIIII=====+==++
+CCCC++CC+CCCC+++CCCC+++CCCCCCCC++++++++++++++CCCC+++++++++C++++.+++++++CCCCCCCCCCCCCCCCCC C   CCCCCCC
+    CC  C    CCC    CCC        CCCCCCCCCCCCCC    CCCCCCCCC CCCC'CCCCCCC
+                                                               X
+                                                               C
 ++++++++"=++"""""+=+"+"++++"+"++"""""""++""""++"""""""""""+""-""""""++++++=======++++==M===MM---Z---ZZZZXXXXXAAAAAIAAIII=I========++
+CCCCCCCC+CCC+++++CCC+C+CCCC+C+CC+++++++CC++++CC+++++++++++C++.++++++CCCCCCCCCCCCCCCCCCC CCC  CCC CCC
+        C   CCCCC   C C    C C  CCCCCCC  CCCC  CCCCCCCCCCC CC'CCCCCC
+                                                             X
+                                                             C
 """+++"""=+""""""+=""=""++"++""""""""""++"""""""""""+""""""""""""+"++++==========+++===M==MMM-----ZZZZZZXXXXXXXAAAIIIIII======++==++
++++CCC+++CC++++++CC++C++CC+CC++++++++++CC+++++++++++C++++++++++++C+CCCCCCCCCCCCCCCCCCCC CC   CCCCC
+CCC   CCC  CCCCCC  CC CC  C  CCCCCCCCCC  CCCCCCCCCCC CCCCCCCCCCCC C
+
+
 """++""""++"""""""+"""""+++++="""""""""""""""""""""+++""""""""""+++++============+++===MM=MMMM----ZZZZZZXXXXXXAAAIIIIIIII=======++++
++++CC++++CC+++++++C+++++CCCCCC+++++++++++++++++++++CCC++++++++++CCCCCCCCCCCCCCCCCCCCCCC  C    CCCC
+CCC  CCCC  CCCCCCC CCCCC      CCCCCCCCCCCCCCCCCCCCC   CCCCCCCCCC
+
+
 """+""++"+"+"+""""+"""""+++"+=+""""""""""+""""+""""""""""""""+++++=======M==M====+++MM=MM=----MZ-Z-ZZZXZZAZXXAAAAIAIIII===+==+=+++++
++++C++CC+C+C+C++++C+++++CCC+CCC++++++++++C++++C++++++++++++++CCCCCCCCCCCC CC CCCCCCC  C  CCCCC  C C
+CCC CC  C C C CCCC CCCCC   C   CCCCCCCCCC CCCC CCCCCCCCCCCCCC
+
+
 """"""""""+"""-"""""""""""+++""""""""""""""-"+""""""""""-""-""+++=+====M=M======++===M=MMMM-M----ZZ-ZZXXXXXXAAXAAAAIA==I=======+++++
+++++++++++C+++.+++++++++++CCC++++++++++++++.+C++++++++++.++.++CCCCCCCCC C CCCCCCCCCCC C    C CCCC  C
+CCCCCCCCCC CCC'CCCCCCCCCCC   CCCCCCCCCCCCCC'C CCCCCCCCCC'CC'CC
+              X                            X            X  X
+              C                            C            C  C
 """+"""""""""-"""+"""+"""+""""""""""""""""+""+++"""""""""""""++++=======MMM======+===MMMMMM-M-----ZZZXZXXXXXAAXAAAIIII=I=I======++++
++++C+++++++++.+++C+++C+++C++++++++++++++++C++CCC+++++++++++++CCCCCCCCCCC   CCCCCCCCCC      C CCCCC
+CCC CCCCCCCCC'CCC CCC CCC CCCCCCCCCCCCCCCC CC   CCCCCCCCCCCCC
+             X
+             C
 """"""""""""--"""""""""""+"""++""""--"""+"""""++"+""""""""""++===========MMM====++===MMMMMM--------ZZZZZXZXXAXXXAAIIIIII======++=+=+
+++++++++++++..+++++++++++C+++CC++++..+++C+++++CC+C++++++++++CCCCCCCCCCCCC   CCCCCCCCC      CCCCCCCC
+CCCCCCCCCCCC''CCCCCCCCCCC CCC  CCCC''CCC CCCCC  C CCCCCCCCCC
+            XX                     XX
+            CC                     CC
 +""""""""-"""-""""""-"""""++"""""""--"""+""-""++++"""""""+"++========M=MMMMM=MM=++===MMMMMM------ZZZZZXZXXXXAAAIAIAAAIIII======+==++
+C++++++++.+++.++++++.+++++CC+++++++..+++C++.++CCCC+++++++C+CCCCCCCCCC C     C  CCCCCC      CCCCCC
+ CCCCCCCC'CCC'CCCCCC'CCCCC  CCCCCCC''CCC CC'CC    CCCCCCC C
+         X   X      X              XX      X
+         C   C      C              CC      C
 """"""""""-----"-""""""""+"+"""""""""""++""""""""+"""""""""+=+=====MMMMMMM======++==MMMMMMM-------Z-ZZXZZXXXAXAAAAIAAIIII=====+===++
+++++++++++.....+.++++++++C+C+++++++++++CC++++++++C+++++++++CCCCCCCC       CCCCCCCCCC       CCCCCCC C
+CCCCCCCCCC'''''C'CCCCCCCC C CCCCCCCCCCC  CCCCCCCC CCCCCCCCC
+          XXXXX X
+          CCCCC C
 """"""""-"-""--""""""""""++"""""""""""+"+++""+++"""""""""+++====M====MM=MMMM===+====MMMMMMM-M--------ZXZZXXXAXAAIAIIAIII=========+1+
+++++++++.+.++..++++++++++CC+++++++++++C+CCC++CCC+++++++++CCCCCCC CCCC  C    CCCCCCCC       C CCCCCCCC
+CCCCCCCC'C'CC''CCCCCCCCCC  CCCCCCCCCCC C   CC   CCCCCCCCC
+        X X  XX
+        C C  CC
 """"""""---""--""""""""""""""""""""""""""""-""+"""-"""""""+=======MMMM==MMM====++===MMMM-M-----------ZZZZXAXXXXXAAAIIIIII=I=======++
+++++++++...++..++++++++++++++++++++++++++++.++C+++.+++++++CCCCCCCC    CC   CCCCCCCCC    C CCCCCCCCCCC
+CCCCCCCC'''CC''CCCCCCCCCCCCCCCCCCCCCCCCCCCC'CC CCC'CCCCCCC
+        XXX  XX                            X      X
+        CCC  CC                            C      C
 """""-"-""-"""-""""""""""""""-"""""""""""""--"="--"""""""++=MM=MMMMM=MM=M==M==+++==MMMMMM----Z------ZZZZXXAAXXXAAAAAAI=IAI=======+11
++++++.+.++.+++.++++++++++++++.+++++++++++++..+C+..+++++++CCC  C     C  C CC CCCCCCC      CCCC CCCCCC
+CCCCC'C'CC'CCC'CCCCCCCCCCCCCC'CCCCCCCCCCCCC''C C''CCCCCCC
+     X X  X   X              X             XX   XX
+     C C  C   C              C             CC   CC
 "--""""-""""""-""""""""-"""""""-"""--""""""---""--""""""""====MMM=MMMM==MM==M==+===MMMMMM------------ZZZXZXXXAXXAAAAAIIIIIII======++
++..++++.++++++.++++++++.+++++++.+++..++++++...++..++++++++CCCC   C    CC  CC CCCCCC      CCCCCCCCCCCC
+C''CCCC'CCCCCC'CCCCCCCC'CCCCCCC'CCC''CCCCCC'''CC''CCCCCCCC
+ XX    X      X        X       X   XX      XXX  XX
+ CC    C      C        C       C   CC      CCC  CC
 --""----"""""""-"""""""""+""""""""""--""""--""""---"""""""=====MM=MMMM==MMMM===++==MMMMMM-M---Z------ZZZXZXXXXXAAAAAAIIIIII========+
+..++....+++++++.+++++++++C++++++++++..++++..++++...+++++++CCCCC  C    CC    CCCCCCC      C CCC CCCCCC
+''CC''''CCCCCCC'CCCCCCCCC CCCCCCCCCC''CCCC''CCCC'''CCCCCCC
+XX  XXXX       X                    XX    XX    XXX
+CC  CCCC       C                    CC    CC    CCC
 -"-""--""""---"--"""""""""-"""""--""--"-"""-""""---"""""""==M=MMM=MMMM====M=========MMMM--M----------ZZXZZXXXXXXAAAAIIIIII==I==I==++
+.+.++..++++...+..+++++++++.+++++..++..+.+++.++++...+++++++CC C   C    CCCC CCCCCCCCC    CC CCCCCCCCCC
+'C'CC''CCCC'''C''CCCCCCCCC'CCCCC''CC''C'CCC'CCCC'''CCCCCCC
+X X  XX    XXX XX         X     XX  XX X   X    XXX
+C C  CC    CCC CC         C     CC  CC C   C    CCC
 """""""""""---""""""""""""-"""""""---""""""--"""--"""-"""+====MMMM=MMMMMMMMM=====MMMMM=M-MM-------Z--ZZZZXZZZAXAAAXAAIAIIII====+=+=+
++++++++++++...++++++++++++.+++++++...++++++..+++..+++.+++CCCCC    C         CCCCC     C C  CCCCCCC CC
+CCCCCCCCCCC'''CCCCCCCCCCCC'CCCCCCC'''CCCCCC''CCC''CCC'CCC
+           XXX            X       XXX      XX   XX   X
+           CCC            C       CCC      CC   CC   C
 "-"""-"""""---""""""""""""""""-"-"""--"-"""-""+"--"""""""+====MMMMMM=MMMMZ--M==+==MMMMMM-MMMMM--------ZZZZZZXXXAAAAAAAIIII======I==+
++.+++.+++++...++++++++++++++++.+.+++..+.+++.++C+..+++++++CCCCC      C     CC CCCCC      C     CCCCCCCC
+C'CCC'CCCCC'''CCCCCCCCCCCCCCCC'C'CCC''C'CCC'CC C''CCCCCCC
+ X   X     XXX                X X   XX X   X    XX
+ C   C     CCC                C C   CC C   C    CC
 --"-"--"""-""-""""""""+""+""""-"""""-"""""---""""-"""""""+=M==MMMMMM=MM--MM-M======MMMMMMMMMMMM-----ZZZZZZZZZXXXXXAAAAAIAI=I=I====++
+..+.+..+++.++.++++++++C++C++++.+++++.+++++...++++.+++++++CC CC      C  CC  C CCCCCC            CCCCC
+''C'C''CCC'CC'CCCCCCCC CC CCCC'CCCCC'CCCCC'''CCCC'CCCCCCC
+XX X XX   X  X                X     X     XXX    X
+CC C CC   C  C                C     C     CCC    C
 -------"""--"-""""-"""""""""""-"""-"--"""""--""""-"""--""==M=MMMMMMMMMMMMMMMMM===M=MMMMMM-MMM--------ZZ-ZZXZXXXXXXAXAAAAIIIIII+==I++
+.......+++..+.++++.+++++++++++.+++.+..+++++..++++.+++..++CC C                 CCC C      C   CCCCCCCC  C
+'''''''CCC''C'CCCC'CCCCCCCCCCC'CCC'C''CCCCC''CCCC'CCC''CC
+XXXXXXX   XX X    X           X   X XX     XX    X   XX
+CCCCCCC   CC C    C           C   C CC     CC    C   CC
 ""--"-"""""-"-"""""""""""""-""""""""--"""""-""""--"""""""=M=MMMMMMMMMMMMMMMMMMM+=MMMMMMMMMMMM---------ZZ-ZZZZZZXXAXAAAIAAIII==I+====
+++..+.+++++.+.+++++++++++++.++++++++..+++++.++++..+++++++C C                   CC            CCCCCCCCC  C
+CC''C'CCCCC'C'CCCCCCCCCCCCC'CCCCCCCC''CCCCC'CCCC''CCCCCCC
+  XX X     X X             X        XX     X    XX
+  CC C     C C             C        CC     C    CC
 ----"""""-""""""""""""""+"--"""-"-"--"-""""-"""""--"-"""+=MMMMMM=MMMMMMMMMM=MM=====MMMMMMMM------------Z--ZZZZZXXXXAAAXAAAIII=======
+....+++++.++++++++++++++C+..+++.+.+..+.++++.+++++..+.+++CC      C          C  CCCCC        CCCCCCCCCCCC CC
+''''CCCCC'CCCCCCCCCCCCCC C''CCC'C'C''C'CCCC'CCCCC''C'CCC
+XXXX     X                XX   X X XX X    X     XX X
+CCCC     C                CC   C C CC C    C     CC C
 -""-"""---"-"-"""""-""""""--"-"""-----"""""--""""---""""+=MMMMMMMMMMMMMMMMMMMM===MMMM-M-MMMMMM-------M-Z--ZZZZZXXXXAAAAAAAIII=======
+.++.+++...+.+.+++++.++++++..+.+++.....+++++..++++...++++CC                    CCC    C C      CCCCCCC C CC
+'CC'CCC'''C'C'CCCCC'CCCCCC''C'CCC'''''CCCCC''CCCC'''CCCC
+X  X   XXX X X     X      XX X   XXXXX     XX    XXX
+C  C   CCC C C     C      CC C   CCCCC     CC    CCC
 "-"-""--"-""---"-""""""++"--"-"""-----""""""---------""""==MMMMMMMM-MMMMM-MMM=M==MMMMMMM-MM-MM---------Z--ZZZZXZXXXXXXXXAAIII=I==I==
++.+.++..+.++...+.++++++CC+..+.+++.....++++++.........++++CC        C     C   C CC       C  C  CCCCCCCCC CC
+C'C'CC''C'CC'''C'CCCCCC  C''C'CCC'''''CCCCCC'''''''''CCCC
+ X X  XX X  XXX X         XX X   XXXXX      XXXXXXXXX
+ C C  CC C  CCC C         CC C   CCCCC      CCCCCCCCC
 -""""""-""""--"""=""""""""-----"---"-""""""""-------"""++===M=-M--MMMMMMMMMMM====MMMMMM------------ZM-ZZ---ZZZZZZXXXAAAAAIIIII======
+.++++++.++++..+++C++++++++.....+...+.++++++++.......+++CCCCC CC CC           CCCC      CCCCCCCCCCCC  C  CCC
+'CCCCCC'CCCC''CCC CCCCCCCC'''''C'''C'CCCCCCCC'''''''CCC
+X      X    XX            XXXXX XXX X        XXXXXXX
+C      C    CC            CCCCC CCC C        CCCCCCC
 """-""---"""""+""""+"++"+""-"-""--"--"="""""""--------"""==MMMMMMMMMMMMMMMMMMM====MMMMM--M---M------------ZZZZZZZXXXXAAXAAIIAIIII===
++++.++...+++++C++++C+CC+C++.+.++..+..+C+++++++........+++CC                   CCCC     CC CCC CCCCCCCCCCCC
+CCC'CC'''CCCCC CCCC C  C CC'C'CC''C''C CCCCCCC''''''''CCC
+   X  XXX                  X X  XX XX         XXXXXXXX
+   C  CCC                  C C  CC CC         CCCCCCCC
 """---"--"-"-""""""++"""=+++""-""--------""+M==-----"--""==MMMMMMMMM-MMMMMMMMM===MMMM--M-----M--------Z----ZZZZZXZXXXAAAAAIIAIIIII==
++++...+..+.+.++++++CC+++CCCC++.++........++C CC.....+..++CC         C         CCC    CC CCCCC CCCCCCCC CCCC
+CCC'''C''C'C'CCCCCC  CCC    CC'CC''''''''CC    '''''C''CC
+   XXX XX X X                 X  XXXXXXXX      XXXXX XX
+   CCC CC C C                 C  CCCCCCCC      CCCCC CC
 -""------------"""-""""-"===="---------"-"+=M++---------"====M-M=MMMMMMMMMMMMMM===MMM--M-MM--M-------ZZ--M--ZZZZZZZXXXXAAAAAIIIIIII=
+.++............+++.++++.+CCCC+.........+.+CC CC.........+CCCC C C              CCC   CC C  CC CCCCCCC  CC CC
+'CC''''''''''''CCC'CCCC'C    C'''''''''C'C     '''''''''C
+X  XXXXXXXXXXXX   X    X      XXXXXXXXX X      XXXXXXXXX
+C  CCCCCCCCCCCC   C    C      CCCCCCCCC C      CCCCCCCCC
 """"---"----------""""+-"+==++-----"------++M""---------"MMMMMMMMMMMM---MM-MMMM===MM---M--M------------Z-----ZZZZXXXXXXAXAAIAI=IIIII
+++++...+..........++++C.+CCCCC.....+......CC ++.........+            CCC  C    CCC  CCC CC CCCCCCCCCCCC CCCCC
+CCCC'''C''''''''''CCCC 'C     '''''C''''''   CC'''''''''C
+    XXX XXXXXXXXXX     X      XXXXX XXXXXX     XXXXXXXXX
+    CCC CCCCCCCCCC     C      CCCCC CCCCCC     CCCCCCCCC
 ------"----"------"""""-++=+"--------+------"-----------"====MMMM-M-MMMMMMMMMMM===MMMMMMMMM-MMM----------M--ZZZZZZZZXXXXAAAAAAIIIIII
+......+....+......+++++.CCCC+........C......+...........+CCCC    C C           CCC         C   CCCCCCCCCC CC
+''''''C''''C''''''CCCCC'    C'''''''' ''''''C'''''''''''C
+XXXXXX XXXX XXXXXX     X     XXXXXXXX XXXXXX XXXXXXXXXXX
+CCCCCC CCCC CCCCCC     C     CCCCCCCC CCCCCC CCCCCCCCCCC
 ---"--""--------"""""-"-""+"""--------------""-------"---==M=MMMMMMMMM-MMM-MMMM===MMM-MMMM--MM----------------ZZZZZZXXXXAXAAAAAIAAII
+...+..++........+++++.+.++C+++..............++.......+...CC C         C   C    CCC   C    CC  CCCCCCCCCCCCCCCC
+'''C''CC''''''''CCCCC'C'CC CCC''''''''''''''CC'''''''C'''
+XXX XX  XXXXXXXX     X X      XXXXXXXXXXXXXX  XXXXXXX XXX
+CCC CC  CCCCCCCC     C C      CCCCCCCCCCCCCC  CCCCCCC CCC
 --------------"-"-"-"---"+""-"+"""----------""""--"""""""===MMMMMMMMMMMMMMMMMMMM===MM-MMMMM-MM-M---M-M-M-------ZZZZZXXXXAXXAAAAIIIII
+..............+.+.+.+...+C++.+C+++..........++++..+++++++CCC                    CCC  C     C  C CCC C C CCCCCCC
+''''''''''''''C'C'C'C'''C CC'C CCC''''''''''CCCC''CCCCCCC
+XXXXXXXXXXXXXX X X X XXX    X     XXXXXXXXXX    XX
+CCCCCCCCCCCCCC C C C CCC    C     CCCCCCCCCC    CC
 -------""--"--"=-""""-""""++"""++"""""++""""++++""++""+++==MMMMMMMMMMM-MM-MMMMMM====MMMMMMMM-MMMMMMM-----M----ZZ-ZZXZXXXXXAAAXAAAIAI
+.......++..+..+C.++++.++++CC+++CC+++++CC++++CCCC++CC++CCCCC           C  C      CCCC        C       CCCCC CCCC  C
+'''''''CC''C''C 'CCCC'CCCC  CCC  CCCCC  CCCC    CC  CC
+XXXXXXX  XX XX  X    X
+CCCCCCC  CC CC  C    C
 -""""""""""""+M+"+++"++"""++++"++++++++"++"+=M+++++=+++++===M=MMM=M-MMMMMMMMMMMM=====MMMMMMMMMMMM--MMMM-M------Z-ZZZZZXZXXXXAAAAAAAA
+.++++++++++++C C+CCC+CC+++CCCC+CCCCCCCC+CC+CC CCCCCCCCCCCCCC C   C C            CCCCC            CC    C CCCCCC C
+'CCCCCCCCCCCC   C   C  CCC    C        C  C
+X
+C
 ++=+++=++++==+++==+=+===+++===++=M++++++++++=+===++++=+++=====MM=MMMMMMM-M-MMMMM=====MMMMMMMMM-MMM-M--M-----M-----Z-ZZZXXXXAIAXAAAAI
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC  C       C C     CCCCC         C   C CC CCCCC CCCCC C
+
+
+
 =====+==+=+M===MM++++=++++==M=+++=+++=+++"++=+==++"""++""+====MMMMMMMMMMMMMMMMMM===+==MMMMMMMM-MMMM-M------M------ZZZXZZZZXXXXXXXAAA
+CCCCCCCCCCC CCC  CCCCCCCCCCC CCCCCCCCCCCC+CCCCCCCC+++CC++CCCCC                  CCCCCC        C    C CCCCCC CCCCCC
+                                         C        CCC  CC
+
+
 M=+++++++=+=++===+=+++++==+=++++++=+++=="+"++++=+"-"""""-+=MMMMMM-MMMM-MMM-MMMMMM=====MMMMMM=MMMMM-----------Z----ZZZXXXZZAXXXXXXXAA
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCC+.+++++.CC      C    C   C      CCCCC      C     CCCCCCCCCCC CCCC
+                                        C C      C'CCCCC'
+                                                  X     X
+                                                  C     C
 """"+"""""+++""+"+""""""+"""++"+"""""++""-""-"="+------+-"===MMM=MMMM-M---MMMMMMMM=====MMMMM-M-MMM-M----M--------ZZZZZZZZZXXXXXXXXAA
+++++C+++++CCC++C+C++++++C+++CC+C+++++CC++.++.+C+C......C.+CCC   C    C CCC        CCCCC     C C   C CCCC CCCCCCCC
+CCCC CCCCC   CC C CCCCCC CCC  C CCCCC  CC'CC'C C '''''' 'C
+                                         X  X    XXXXXX X
+                                         C  C    CCCCCC C
 ------"-----"-------"""-"-"""""="-""-""-""--"-+"----------+===M=MMMMM-M-MMMMMMMMMM====MMMMMMMMMMMM-M-M--M---------ZZZZZZZXXXXXXXXXAA
+......+.....+.......+++.+.+++++C+.++.++.++..+.C+..........CCCC C     C C          CCCC            C C CC CCCCCCCCC
+''''''C'''''C'''''''CCC'C'CCCCC C'CC'CC'CC''C' C''''''''''
+XXXXXX XXXXX XXXXXXX   X X       X  X  X  XX X  XXXXXXXXXX
+CCCCCC CCCCC CCCCCCC   C C       C  C  C  CC C  CCCCCCCCCC
 --------------------"----"-"--""+----"---"----------------+====MMMMMMMMM-MM-MMMMMM====MMMM=MMMMM----MM------------ZZZZZZZZZZXXXXXXAX
+....................+....+.+..++C....+...+................CCCCC         C  C      CCCC    C     CCCC  CCCCCCCCCCCC
+''''''''''''''''''''C''''C'C''CC ''''C'''C''''''''''''''''
+XXXXXXXXXXXXXXXXXXXX XXXX X XX   XXXX XXX XXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCC CCCC C CC   CCCC CCC CCCCCCCCCCCCCCCC
 -------"--"------"--""+"=-"++="""--"-------"""------------"=M=M=MMMMMMMMM-M-MMMMMM=====MMMMMM-MM-MMMMM--M---------ZZZZZXZZZZZZXXXXXX
+.......+..+......+..++C+C.+CCC+++..+.......+++............+C C C         C C      CCCCC      C  C     CC CCCCCCCCC
+'''''''C''C''''''C''CC C 'C   CCC''C'''''''CCC''''''''''''C
+XXXXXXX XX XXXXXX XX     X       XX XXXXXXX   XXXXXXXXXXXX
+CCCCCCC CC CCCCCC CC     C       CC CCCCCCC   CCCCCCCCCCCC
 -------""-----------"-"-""++"""""-"""+"""""++""--------"---+====MMMMMMMMMMMMMMMMMMM======M=MMMMMMM--MMM--------------ZZXZZZZZXXAXXXX
+.......++...........+.+.++CC+++++.+++C+++++CC++........+...CCCCC                   CCCCCC C       CC   CCCCCCCCCCCCCC
+'''''''CC'''''''''''C'C'CC  CCCCC'CCC CCCCC  CC''''''''C'''
+XXXXXXX  XXXXXXXXXXX X X         X             XXXXXXXX XXX
+CCCCCCC  CCCCCCCCCCC C C         C             CCCCCCCC CCC
 ---"---"----------"""----"++"""""-+""-+="""++"-------------+==MMM==MMMMMMMMMMMMMMMM=M======MM=MMM-MMM------------Z-Z-ZZZ-ZZZZZZXZZXZ
+...+...+..........+++....+CC+++++.C++.CC+++CC+.............CCC   CC                C CCCCCC  C   C   CCCCCCCCCCCC C C   C
+'''C'''C''''''''''CCC''''C  CCCCC' CC'  CCC  C'''''''''''''
+XXX XXX XXXXXXXXXX   XXXX        X   X        XXXXXXXXXXXXX
+CCC CCC CCCCCCCCCC   CCCC        C   C        CCCCCCCCCCCCC
 --------------------"-----++"--"--""--""-"""+--------------"==MMMMMMMMMMMMMMMMMMMMMM=========MMMMMMMM--------------Z-------ZZZZZZZZZ
+....................+.....CC+..+..++..++.+++C..............+CC                      CCCCCCCCC        CCCCCCCCCCCCCC CCCCCCC
+''''''''''''''''''''C'''''  C''C''CC''CC'CCC ''''''''''''''C
+XXXXXXXXXXXXXXXXXXXX XXXXX   XX XX  XX  X    XXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCC CCCCC   CC CC  CC  C    CCCCCCCCCCCCCC
 -"--"-"-----"---"""""-""""+++-------"----"-++---------------==MMM=MMMMMMMM-MM-MMMMMMMMM====MMMZMMMMMM-------------M---Z---ZZZ-ZZZ-Z-
+.+..+.+.....+...+++++.++++CCC.......+....+.CC...............CC   C        C  C         CCCC          CCCCCCCCCCCCC CCC CCC   C   C C
+'C''C'C'''''C'''CCCCC'CCCC   '''''''C''''C'  '''''''''''''''
+X XX X XXXXX XXX     X       XXXXXXX XXXX X  XXXXXXXXXXXXXXX
+C CC C CCCCC CCC     C       CCCCCCC CCCC C  CCCCCCCCCCCCCCC
 ---"-----"--"---"-""""+-+-++=--"-------"---++"----"""-------+====M=MMMMMMMMMMMMMMMMMMM===++===M=M=MMM-MMMMM-MMM--M-----------Z------
+...+.....+..+...+.++++C.C.CCC..+.......+...CC+....+++.......CCCCC C                   CCCCCCCC C C   C     C   CC CCCCCCCCCCC CCCCCC
+'''C'''''C''C'''C'CCCC ' '   ''C'''''''C'''  C''''CCC'''''''
+XXX XXXXX XX XXX X     X X   XX XXXXXXX XXX   XXXX   XXXXXXX
+CCC CCCCC CC CCC C     C C   CC CCCCCCC CCC   CCCC   CCCCCCC
 ---"---"-""-"--"-"--""--""+++"-"------"----"+"-+-""""-------"===M==MMMMMMMMMMMMMMMMMMMM==++======MMMMMM-MMMMMMMM----------------M---
+...+...+.++.+..+.+..++..++CCC+.+......+....+C+.C.++++.......+CCC CC                    CCCCCCCCCC      C        CCCCCCCCCCCCCCCC CCC
+'''C'''C'CC'C''C'C''CC''CC   C'C''''''C''''C C' 'CCCC'''''''C
+XXX XXX X  X XX X XX  XX      X XXXXXX XXXX   X X    XXXXXXX
+CCC CCC C  C CC C CC  CC      C CCCCCC CCCC   C C    CCCCCCC
 ----"-""--"-""""-""-""-"""++"""""----------"+"-""---"-=-----"+==M==MMMMM-MM-MMMMMMMMMMMM==+========MMMMMMMM-MMMMM------M--M--M--M--M
+....+.++..+.++++.++.++.+++CC+++++..........+C+.++...+.C.....+CCC CC     C  C            CCCCCCCCCCC        C     CCCCCC CC CC CC CC
+''''C'CC''C'CCCC'CC'CC'CCC  CCCCC''''''''''C C'CC'''C' '''''C
+XXXX X  XX X    X  X  X          XXXXXXXXXX   X  XXX X XXXXX
+CCCC C  CC C    C  C  C          CCCCCCCCCC   C  CCC C CCCCC
 --"-"-""-"--""-"--"""--""""+"--------------+=+""----"-----"--"=MMMMMMMMMMMMM-M-M-MMM-MM=M==+=++====M==MMMMMMMMMM-M--MM--M--MMMMMMM--
+..+.+.++.+..++.+..+++..++++C+..............CCC++....+.....+..+C             C C C   C  C CCCCCCCCCC CC          C CC  CC CC       CC
+''C'C'CC'C''CC'C''CCC''CCCC C''''''''''''''   CC''''C'''''C''C
+XX X X  X XX  X XX   XX      XXXXXXXXXXXXXX     XXXX XXXXX XX
+CC C C  C CC  C CC   CC      CCCCCCCCCCCCCC     CCCC CCCCC CC
 ----"""-""--""""-""+"---"""+"----------"---+"+++"-+----------"====MM=MMMMMMMMMMMMMMMMMMMM====+++======MM=MMMMMMMMMMMMM-MMMMMMMMMMMMM
+....+++.++..++++.++C+...+++C+..........+...C+CCC+.C..........+CCCC  C                    CCCCCCCCCCCCC  C             C
+''''CCC'CC''CCCC'CC C'''CCC C''''''''''C''' C   C' ''''''''''C
+XXXX   X  XX    X    XXX     XXXXXXXXXX XXX      X XXXXXXXXXX
+CCCC   C  CC    C    CCC     CCCCCCCCCC CCC      C CCCCCCCCCC
 --"""-"-----""""--+"--""""++"-----------"--++"""-------------"=====M=MMMMMMMMMMMMMMMMMMMM====++++======M=MMM=MMMMMMMMMMMMMMMMMMMMMMM
+..+++.+.....++++..C+..++++CC+...........+..CC+++.............+CCCCC C                    CCCCCCCCCCCCCC C   C
+''CCC'C'''''CCCC'' C''CCCC  C'''''''''''C''  CCC'''''''''''''C
+XX   X XXXXX    XX  XX       XXXXXXXXXXX XX     XXXXXXXXXXXXX
+CC   C CCCCC    CC  CC       CCCCCCCCCCC CC     CCCCCCCCCCCCC
 --"""-"----""-"""-"-"----"++"---------"-"--"""""---""--------""+=====MMMMMMMMMMMMMMMMMM=MM===++++++=======MMMM=MMMMMMMMM=M==M=MM=M=M
+..+++.+....++.+++.+.+....+CC+.........+.+..+++++...++........++CCCCCC                  C  CCCCCCCCCCCCCCCC    C         C CC C  C C
+''CCC'C''''CC'CCC'C'C''''C  C'''''''''C'C''CCCCC'''CC''''''''CC
+XX   X XXXX  X   X X XXXX    XXXXXXXXX X XX     XXX  XXXXXXXX
+CC   C CCCC  C   C C CCCC    CCCCCCCCC C CC     CCC  CCCCCCCC
 -"----""""+-"""""-"-+--"""++----""-----"-""""-"--"--+--"-----""+===MMMMMMMMMMMMMMMMMMMMM=M=M===+++++======M====M=MMMMMM==M===M=M==MM
+.+....++++C.+++++.+.C..+++CCC...++.....+.++++.+..+..C..+.....++CCCC                     C C CCCCCCCCCCCCCC CCCC C      CC CCC C CC
+'C''''CCCC 'CCCCC'C' ''CCC   '''CC'''''C'CCCC'C''C'' ''C'''''CC
+X XXXX     X     X X XX      XXX  XXXXX X    X XX XX XX XXXXX
+C CCCC     C     C C CC      CCC  CCCCC C    C CC CC CC CCCCC
 "-""--"""--""-+"--""==-""""+"--"-----------""-"-"------------"""=======M=MMMM-MMMM=MMM=MMMM====+++++++===========M=MM===============
++.++..+++..++.C+..++CC.++++C+..+...........++.+.+............+++CCCCCCC C    C    C   C    CCCCCCCCCCCCCCCCCCCCCC C  CCCCCCCCCCCCCCC
+C'CC''CCC''CC' C''CC  'CCCC C''C'''''''''''CC'C'C''''''''''''CCC
+ X  XX   XX  X  XX    X      XX XXXXXXXXXXX  X X XXXXXXXXXXXX
+ C  CC   CC  C  CC    C      CC CCCCCCCCCCC  C C CCCCCCCCCCCC
 ""-"""""-"""""+"""--+-""""++"---"---------"-"""--------------""-+=======MMMMMMMMMMMMMM=MMMMM===+++++++++============================
+++.+++++.+++++C+++..C.++++CC+...+.........+.+++..............++.CCCCCCCC              C     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CC'CCCCC'CCCCC CCC'' 'CCCC  C'''C'''''''''C'CCC''''''''''''''CC'
+  X     X         XX X       XXX XXXXXXXXX X   XXXXXXXXXXXXXX  X
+  C     C         CC C       CCC CCCCCCCCC C   CCCCCCCCCCCCCC  C
 "--""-"--"""""""---""--"--++"----------+---"""----"-"---------"--+=======MMMMMMMMMMMMMMMMM======++=+++"+++++========================
++..++.+..+++++++...++..+..CC+..........C...+++....+.+.........+..CCCCCCCC                 CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C''CC'C''CCCCCCC'''CC''C''  C'''''''''' '''CCC''''C'C'''''''''C''                                     C
+ XX  X XX       XXX  XX XX   XXXXXXXXXX XXX   XXXX X XXXXXXXXX XX
+ CC  C CC       CCC  CC CC   CCCCCCCCCC CCC   CCCC C CCCCCCCCC CC
 """"""--"""-""""---"""""--"+"------"-------"+""--"""------"------"======M=M==MMMMMMMMMMMM=M=M======++++"++++++=+++===+=++=====+=====
+++++++..+++.++++...+++++..+C+......+.......+C++..+++......+......+CCCCCC C CC            C C CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CCCCCC''CCC'CCCC'''CCCCC''C C''''''C'''''''C CC''CCC''''''C''''''C                                     C
+      XX   X    XXX     XX   XXXXXX XXXXXXX    XX   XXXXXX XXXXXX
+      CC   C    CCC     CC   CCCCCC CCCCCCC    CC   CCCCCC CCCCCC
 """""-""-"""""""-------"--"""-------------"-"-----"----------""---"=========MMMMMMMMMMMM=M=========++++++""+++++++++++++++++=++====+
++++++.++.+++++++.......+..+++.............+.+.....+..........++...+CCCCCCCCC            C CCCCCCCCCCCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCC
+CCCCC'CC'CCCCCCC'''''''C''CCC'''''''''''''C'C'''''C''''''''''CC'''C                                      CC
+     X  X       XXXXXXX XX   XXXXXXXXXXXXX X XXXXX XXXXXXXXXX  XXX
+     C  C       CCCCCCC CC   CCCCCCCCCCCCC C CCCCC CCCCCCCCCC  CCC
 ""-"""""""""""""-------""-"""-------------"-""---"+----------"""--"+========MMMMMMMMMMMMMM=M===M===+=++++""""""""+++++++++++=+++====
+++.+++++++++++++.......++.+++.............+.++...+C..........+++..+CCCCCCCCC              C CCC CCCCCCCCC++++++++CCCCCCCCCCCCCCCCCCC
+CC'CCCCCCCCCCCCC'''''''CC'CCC'''''''''''''C'CC'''C ''''''''''CCC''C                                      CCCCCCCC
+  X             XXXXXXX  X   XXXXXXXXXXXXX X  XXX  XXXXXXXXXX   XX
+  C             CCCCCCC  C   CCCCCCCCCCCCC C  CCC  CCCCCCCCCC   CC
 """""--"""""""""-------""-"""-----"--------""----"--"---------"----"====M===MMMM=MMMMMMMMMMMM=M====+==+++"""""---""""""""++"++++=++=
++++++..+++++++++.......++.+++.....+........++....+..+.........+....+CCCC CCC    C            C CCCCCCCCCC+++++...++++++++CC+CCCCCCCC
+CCCCC''CCCCCCCCC'''''''CC'CCC'''''C''''''''CC''''C''C'''''''''C''''C                                     CCCCC'''CCCCCCCC  C
+     XX         XXXXXXX  X   XXXXX XXXXXXXX  XXXX XX XXXXXXXXX XXXX                                           XXX
+     CC         CCCCCCC  C   CCCCC CCCCCCCC  CCCC CC CCCCCCCCC CCCC                                           CCC
 """+"""---"""""""---"--""-""""-"--""--------""------"---------"-----+====MM=MMMMMMMMMMMMMM=M=M=====+==+=++"""""--"--""""""""+++++++=
++++C+++...+++++++...+..++.++++.+..++........++......+.........+.....CCCCC  C              C C CCCCCCCCCCCC+++++..+..++++++++CCCCCCCC
+CCC CCC'''CCCCCCC'''C''CC'CCCC'C''CC''''''''CC''''''C'''''''''C'''''                                      CCCCC''C''CCCCCCCC
+       XXX       XXX XX  X    X XX  XXXXXXXX  XXXXXX XXXXXXXXX XXXXX                                           XX XX
+       CCC       CCC CC  C    C CC  CCCCCCCC  CCCCCC CCCCCCCCC CCCCC                                           CC CC
 """""""""-""""-"-"-"---"--"""---"----"-----""""--------------+"-----"++====M=MM==MMMMMMMM==========+=+++++""""""-"-------"""""++"+++
++++++++++.++++.+.+.+...+..+++...+....+.....++++..............C+.....+CCCCCC C  CC        CCCCCCCCCCCCCCCCC++++++.+.......+++++CC+CCC
+CCCCCCCCC'CCCC'C'C'C'''C''CCC'''C''''C'''''CCCC'''''''''''''' C'''''C                                     CCCCCC'C'''''''CCCCC  C
+         X    X X X XXX XX   XXX XXXX XXXXX    XXXXXXXXXXXXXX  XXXXX                                            X XXXXXXX
+         C    C C C CCC CC   CCC CCCC CCCCC    CCCCCCCCCCCCCC  CCCCC                                            C CCCCCCC
 """""""""-"""--"-"--------"""-"-"----+"---""""""---"---------""------"+====M==MM==MM=MMMM==========++++++++"+"""-----------"""+++"++
++++++++++.+++..+.+........+++.+.+....C+...++++++...+.........++......+CCCCC CC  CC  C    CCCCCCCCCCCCCCCCCC+C+++...........+++CCC+CC
+CCCCCCCCC'CCC''C'C''''''''CCC'C'C'''' C'''CCCCCC'''C'''''''''CC''''''C                                     C CCC'''''''''''CCC   C
+         X   XX X XXXXXXXX   X X XXXX  XXX      XXX XXXXXXXXX  XXXXXX                                           XXXXXXXXXXX
+         C   CC C CCCCCCCC   C C CCCC  CCC      CCC CCCCCCCCC  CCCCCC                                           CCCCCCCCCCC
 """"""""""-""--""---------"""-=-"----------=""-----"--"------""-------"+=======M===MM===M============+++++++""----"--------"""""""++
+++++++++++.++..++.........+++.C.+..........C++.....+..C......++.......+CCCCCCCC CCC  CCC CCCCCCCCCCCCCCCCCCC++....+........+++++++CC
+CCCCCCCCCC'CC''CC'''''''''CCC' 'C'''''''''' CC'''''C''B''''''CC'''''''C                                     CC''''C''''''''CCCCCCC
+          X  XX  XXXXXXXXX   X X XXXXXXXXXX   XXXXX XXHXXXXXX  XXXXXXX                                        XXXX XXXXXXXX
+          C  CC  CCCCCCCCC   C C CCCCCCCCCC   CCCCC CCXCCCCCC  CCCCCCC                                        CCCC CCCCCCCC
 """"""""""""""""""-------"""+""-"-----""---"""----"-"------"--""-------+========M=M=M=M=M=MM=-======+++++++++"""""""""-"""""""++"+++
+++++++++++++++++++.......+++C++.+.....++...+++....+.+......+..++.......CCCCCCCCC C C C C C  CCCCCCCCCCCCCCCCC+++++++++.+++++++CC+CCC
+CCCCCCCCCCCCCCCCCC'''''''CCC CC'C'''''CC'''CCC''''C'C''''''C''CC'''''''                                      CCCCCCCCC'CCCCCCC  C
+                  XXXXXXX      X XXXXX  XXX   XXXX X XXXXXX XX  XXXXXXX                                               X
+                  CCCCCCC      C CCCCC  CCC   CCCC C CCCCCC CC  CCCCCCC                                               C
 """""""""--""-""---------""+"---------"-----""-----------"----"---------"+========M=M=M=MMMM=M======++=+++++"""-""""""""""""+"++++++
++++++++++..++.++.........++C+.........+.....++...........+....+.........+CCCCCCCCC C C C    C CCCCCCCCCCCCCC+++.++++++++++++C+CCCCCC
+CCCCCCCCC''CC'CC'''''''''CC C'''''''''C'''''CC'''''''''''C''''C'''''''''C                                   CCC'CCCCCCCCCCCC C
+         XX  X  XXXXXXXXX    XXXXXXXXX XXXXX  XXXXXXXXXXX XXXX XXXXXXXXX                                       X
+         CC  C  CCCCCCCCC    CCCCCCCCC CCCCC  CCCCCCCCCCC CCCC CCCCCCCCC                                       C
 """"""""----""""---------""""----""---------"----------------""---------"+=+========MMM==M=MM======+++++++++""--""""""""""""++++++++
+++++++++....++++.........++++....++.........+................++.........+CCCCCCCCCCC   CC C  CCCCCCCCCCCCCCC++..++++++++++++CCCCCCCC
+CCCCCCCC''''CCCC'''''''''CCCC''''CC'''''''''C''''''''''''''''CC'''''''''C                                   CC''CCCCCCCCCCCC
+        XXXX    XXXXXXXXX    XXXX  XXXXXXXXX XXXXXXXXXXXXXXXX  XXXXXXXXX                                      XX
+        CCCC    CCCCCCCCC    CCCC  CCCCCCCCC CCCCCCCCCCCCCCCC  CCCCCCCCC                                      CC
 """"""------""""---------""""----"----------"-----------------"-----------++===========M============++++++"""---""""""""""""+++=++++
+++++++......++++.........++++....+..........+.................+...........CCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC+++...++++++++++++CCCCCCCC
+CCCCCC''''''CCCC'''''''''CCCC''''C''''''''''C'''''''''''''''''C'''''''''''                                CCC'''CCCCCCCCCCCC
+      XXXXXX    XXXXXXXXX    XXXX XXXXXXXXXX XXXXXXXXXXXXXXXXX XXXXXXXXXXX                                   XXX
+      CCCCCC    CCCCCCCCC    CCCC CCCCCCCCCC CCCCCCCCCCCCCCCCC CCCCCCCCCCC                                   CCC
 +"""""""-""""""""--------"""""------------=-""---------"------"----"------"+++=+=======MM=M========+=+++"+""""-+"""+"+""++++++++++++
+C+++++++.++++++++........+++++............C.++.........+......+....+......+CCCCCCCCCCCC  C CCCCCCCCCCCCC+C++++.C+++C+C++CCCCCCCCCCCC
+ CCCCCCC'CCCCCCCC''''''''CCCCC'''''''''''' 'CC'''''''''C''''''C''''C''''''C                             C CCCC' CCC C CC
+        X        XXXXXXXX     XXXXXXXXXXXX X  XXXXXXXXX XXXXXX XXXX XXXXXX                                    X
+        C        CCCCCCCC     CCCCCCCCCCCC C  CCCCCCCCC CCCCCC CCCC CCCCCC                                    C
 "--""-"-"--""--"-----------""---------"---+-""-----------------------------"++++++===============+++++++"+""""""""""""+""++++++=++=+
++..++.+.+..++..+...........++.........+...C.++.............................+CCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++++++++++++C++CCCCCCCCCCC
+C''CC'C'C''CC''C'''''''''''CC'''''''''C''' 'CC'''''''''''''''''''''''''''''C                            C CCCCCCCCCCCC CC
+ XX  X X XX  XX XXXXXXXXXXX  XXXXXXXXX XXX X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ CC  C C CC  CC CCCCCCCCCCC  CCCCCCCCC CCC C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ""-""""""""""-""-----------""---------"-----"----"--------------------------"+++++=+=++======++==+++++++"""""+"""""""++"++++++++++=+
+++.++++++++++.++...........++.........+.....+....+..........................+CCCCCCCCCCCCCCCCCCCCCCCCCCC+++++C+++++++CC+CCCCCCCCCCCC
+CC'CCCCCCCCCC'CC'''''''''''CC'''''''''C'''''C''''C''''''''''''''''''''''''''C                           CCCCC CCCCCCC  C
+  X          X  XXXXXXXXXXX  XXXXXXXXX XXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXXXX
+  C          C  CCCCCCCCCCC  CCCCCCCCC CCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCCCC
 """"""""-"+""--"---------"-""---------------"-"---------------"-------------""++++++=+++++++=++++++"+""+""""+"-"""""+"+""+++++++++++
+++++++++.+C++..+.........+.++...............+.+...............+.............++CCCCCCCCCCCCCCCCCCCCC+C++C++++C+.+++++C+C++CCCCCCCCCCC
+CCCCCCCC'C CC''C'''''''''C'CC'''''''''''''''C'C'''''''''''''''C'''''''''''''CC                     C CC CCCC C'CCCCC C CC
+        X    XX XXXXXXXXX X  XXXXXXXXXXXXXXX X XXXXXXXXXXXXXXX XXXXXXXXXXXXX                                  X
+        C    CC CCCCCCCCC C  CCCCCCCCCCCCCCC C CCCCCCCCCCCCCCC CCCCCCCCCCCCC                                  C
 """"""--"""-"--"--------"--""---------------""------"--"------""--------------++++++=+++++++++++-++"++"""""""-""""""++++++++++++++=+
+++++++..+++.+..+........+..++...............++......+..+......++..............CCCCCCCCCCCCCCCCCCCCC+CC+++++++.++++++CCCCCCCCCCCCCCCC
+CCCCCC''CCC'C''C''''''''C''CC'''''''''''''''CC''''''C''C''''''CC''''''''''''''                     C  CCCCCCC'CCCCCC
+      XX   X XX XXXXXXXX XX  XXXXXXXXXXXXXXX  XXXXXX XX XXXXXX  XXXXXXXXXXXXXX                               X
+      CC   C CC CCCCCCCC CC  CCCCCCCCCCCCCCC  CCCCCC CC CCCCCC  CCCCCCCCCCCCCC                               C
 """"""-""-"-"--"-----------""---------"-----""----------------"---------------"+++++++++++++++++M+""""""""""""-"+""""+++++++++++++++
+++++++.++.+.+..+...........++.........+.....++................+...............+CCCCCCCCCCCCCCCCC C++++++++++++.+C++++CCCCCCCCCCCCCCC
+CCCCCC'CC'C'C''C'''''''''''CC'''''''''C'''''CC''''''''''''''''C'''''''''''''''C                   CCCCCCCCCCCC'C CCCC
+      X  X X XX XXXXXXXXXXX  XXXXXXXXX XXXXX  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX                                X
+      C  C C CC CCCCCCCCCCC  CCCCCCCCC CCCCC  CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC                                C
 """--""""---"--"--------"--""---------------+"----------------"----------------+""++++++++""+"++""""""""-"+----"""""++"+++++++++++++
++++..++++...+..+........+..++...............C+................+................C++CCCCCCCC++C+CC++++++++.+C....+++++CC+CCCCCCCCCCCCC
+CCC''CCCC'''C''C''''''''C''CC''''''''''''''' C''''''''''''''''C'''''''''''''''' CC        CC C  CCCCCCCC'C ''''CCCCC  C
+   XX    XXX XX XXXXXXXX XX  XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX                         X  XXXX
+   CC    CCC CC CCCCCCCC CC  CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC                         C  CCCC
 -"-"-""""---"--------------""---------------""---------"------"----------------""++++"+++""++"+""""""""""""----+""""++++++++++++++++
+.+.+.++++...+..............++...............++.........+......+................++CCCC+CCC++CC+C++++++++++++....C++++CCCCCCCCCCCCCCCC
+'C'C'CCCC'''C''''''''''''''CC'''''''''''''''CC'''''''''C''''''C''''''''''''''''CC    C   CC  C CCCCCCCCCCCC'''' CCCC
+X X X    XXX XXXXXXXXXXXXXX  XXXXXXXXXXXXXXX  XXXXXXXXX XXXXXX XXXXXXXXXXXXXXXX                            XXXX
+C C C    CCC CCCCCCCCCCCCCC  CCCCCCCCCCCCCCC  CCCCCCCCC CCCCCC CCCCCCCCCCCCCCCC                            CCCC
 """-""-"---+"--------------""--"--"---"-+"--+"---------------"""---------------""+""""""+""++""""""""=+"""-----"""""++++"+++++++++=+
++++.++.+...C+..............++..+..+...+.C+..C+...............+++...............++C++++++C++CC++++++++CC+++.....+++++CCCC+CCCCCCCCCCC
+CCC'CC'C''' C''''''''''''''CC''C''C'''C' C'' C'''''''''''''''CCC'''''''''''''''CC CCCCCC CC  CCCCCCCC  CCC'''''CCCCC    C
+   X  X XXX  XXXXXXXXXXXXXX  XX XX XXX X  XX  XXXXXXXXXXXXXXX   XXXXXXXXXXXXXXX                           XXXXX
+   C  C CCC  CCCCCCCCCCCCCC  CC CC CCC C  CC  CCCCCCCCCCCCCCC   CCCCCCCCCCCCCCC                           CCCCC
 """-"""""--""---------------"--------------"""----------------"------------------""""++"""""+"""""""""""-"--"--""""""+"+++++++++++++
++++.+++++..++...............+..............+++................+..................++++CC+++++C+++++++++++.+..+..++++++C+CCCCCCCCCCCCC
+CCC'CCCCC''CC'''''''''''''''C''''''''''''''CCC''''''''''''''''C''''''''''''''''''CCCC  CCCCC CCCCCCCCCCC'C''C''CCCCCC C
+   X     XX  XXXXXXXXXXXXXXX XXXXXXXXXXXXXX   XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX                       X XX XX
+   C     CC  CCCCCCCCCCCCCCC CCCCCCCCCCCCCC   CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCC                       C CC CC
 "-+""""""-"--"-----"--------"---------------""----------------""----------------"-""++""""""+"""""""""""--"-"--""""""+++++++++++++=+
++.C++++++.+..+.....+........+...............++................++................+.++CC++++++C+++++++++++..+.+..++++++CCCCCCCCCCCCCCC
+C' CCCCCC'C''C'''''C''''''''C'''''''''''''''CC''''''''''''''''CC''''''''''''''''C'CC  CCCCCC CCCCCCCCCCC''C'C''CCCCCC
+ X       X XX XXXXX XXXXXXXX XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX X                      XX X XX
+ C       C CC CCCCC CCCCCCCC CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC C                      CC C CC
 --"""+"""""-"------""-------"---------------""----------------"-------------------""+""""""""""""""-"""""-------""++++++++++++=+++=+
+..+++C+++++.+......++.......+...............++................+...................++C++++++++++++++.+++++.......++CCCCCCCCCCCCCCCCCC
+''CCC CCCCC'C''''''CC'''''''C'''''''''''''''CC''''''''''''''''C'''''''''''''''''''CC CCCCCCCCCCCCCC'CCCCC'''''''CC
+XX         X XXXXXX  XXXXXXX XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX                 X     XXXXXXX
+CC         C CCCCCC  CCCCCCC CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC                 C     CCCCCCC
 -""""""""---"--"-"--""---"-""------"---"---"""---------"------"-"--------------"---"""+++""+"++"""""""""""-"-"-""""""+++++++++==+=++
+.++++++++...+..+.+..++...+.++......+...+...+++.........+......+.+..............+...+++CCC++C+CC+++++++++++.+.+.++++++CCCCCCCCCCCCCCC
+'CCCCCCCC'''C''C'C''CC'''C'CC''''''C'''C'''CCC'''''''''C''''''C'C''''''''''''''C'''CCC   CC C  CCCCCCCCCCC'C'C'CCCCCC
+X        XXX XX X XX  XXX X  XXXXXX XXX XXX   XXXXXXXXX XXXXXX X XXXXXXXXXXXXXX XXX                       X X X
+C        CCC CC C CC  CCC C  CCCCCC CCC CCC   CCCCCCCCC CCCCCC C CCCCCCCCCCCCCC CCC                       C C C
 --""""""---"---""-----------"--+"------"----""---------"----------------------------"+""+"""""+"""""""""""""---""""""+++++++++++++++
+..++++++...+...++...........+..C+......+....++.........+............................+C++C+++++C+++++++++++++...++++++CCCCCCCCCCCCCCC
+''CCCCCC'''C'''CC'''''''''''C'' C''''''C''''CC'''''''''C''''''''''''''''''''''''''''C CC CCCCC CCCCCCCCCCCCC'''CCCCCC
+XX      XXX XXX  XXXXXXXXXXX XX  XXXXXX XXXX  XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX                        XXX
+CC      CCC CCC  CCCCCCCCCCC CC  CCCCCC CCCC  CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC                        CCC
 -"""""+"---"---"""----------"-"=-------"----""--"-------------"----------------"-----""++"""""+"""""""""""""----"""""+"++++++"++++++
+.+++++C+...+...+++..........+.+C.......+....++..+.............+................+.....++CC+++++C+++++++++++++....+++++C+CCCCCC+CCCCCC
+'CCCCC C'''C'''CCC''''''''''C'C '''''''C''''CC''C'''''''''''''C''''''''''''''''C'''''CC  CCCCC CCCCCCCCCCCCC''''CCCCC C      C
+X       XXX XXX   XXXXXXXXXX X  XXXXXXX XXXX  XX XXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXX                       XXXX
+C       CCC CCC   CCCCCCCCCC C  CCCCCCC CCCC  CC CCCCCCCCCCCCC CCCCCCCCCCCCCCCC CCCCC                       CCCC
 --+""----""""-""""----"-----"---------------++----------------"-----------------"----"""+"""""+""""""""""""""---"""""+""+++++"++++++
+..C++....++++.++++....+.....+...............CC................+.................+....+++C+++++C++++++++++++++...+++++C++CCCCC+CCCCCC
+'' CC''''CCCC'CCCC''''C'''''C'''''''''''''''  ''''''''''''''''C'''''''''''''''''C''''CCC CCCCC CCCCCCCCCCCCCC'''CCCCC CC     C
+XX   XXXX    X    XXXX XXXXX XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX XXXX                        XXX
+CC   CCCC    C    CCCC CCCCC CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCC CCCC                        CCC
 "-"+""---""""+-------"---"--"---------+-----"-"---------------""----------------------++"""+""++""++"+""""""-"--"""=+""+++++++++++++
++.+C++...++++C.......+...+..+.........C.....+.+...............++......................CC+++C++CC++CC+C++++++.+..+++CC++CCCCCCCCCCCCC
+C'C CC'''CCCC '''''''C'''C''C''''''''' '''''C'C'''''''''''''''CC''''''''''''''''''''''  CCC CC  CC  C CCCCCC'C''CCC  CC
+ X    XXX     XXXXXXX XXX XX XXXXXXXXX XXXXX X XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXX                      X XX
+ C    CCC     CCCCCCC CCC CC CCCCCCCCC CCCCC C CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCC                      C CC
 "--""-"---"=+""------------"""--------------"""---------------""----------------"------"""""""+"""+"""""""""----""""""""++++++++++++
++..++.+...+CC++............+++..............+++...............++................+......+++++++C+++C+++++++++....++++++++CCCCCCCCCCCC
+C''CC'C'''C  CC''''''''''''CCC''''''''''''''CCC'''''''''''''''CC''''''''''''''''C''''''CCCCCCC CCC CCCCCCCCC''''CCCCCCCC
+ XX  X XXX     XXXXXXXXXXXX   XXXXXXXXXXXXXX   XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX XXXXXX                     XXXX
+ CC  C CCC     CCCCCCCCCCCC   CCCCCCCCCCCCCC   CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC CCCCCC                     CCCC
 "--""-----""-"-------------"+"--------------"++---------------""---------------"-------"+"""+""""""""""""""-""--"""""+"""+++++++++++
++..++.....++.+.............+C+..............+CC...............++...............+.......+C+++C++++++++++++++.++..+++++C+++CCCCCCCCCCC
+C''CC'''''CC'C'''''''''''''C C''''''''''''''C  '''''''''''''''CC'''''''''''''''C'''''''C CCC CCCCCCCCCCCCCC'CC''CCCCC CCC
+ XX  XXXXX  X XXXXXXXXXXXXX   XXXXXXXXXXXXXX   XXXXXXXXXXXXXXX  XXXXXXXXXXXXXXX XXXXXXX                    X  XX
+ CC  CCCCC  C CCCCCCCCCCCCC   CCCCCCCCCCCCCC   CCCCCCCCCCCCCCC  CCCCCCCCCCCCCCC CCCCCCC                    C  CC
 ------"----"---------"-----"++"-------------"+"-----------------------------------------++"""""""""""""""""-----"""+++"+"++++++++++=
+......+....+.........+.....+CC+.............+C+.........................................CC+++++++++++++++++.....+++CCC+C+CCCCCCCCCCC
+''''''C''''C'''''''''C'''''C  C'''''''''''''C C'''''''''''''''''''''''''''''''''''''''''  CCCCCCCCCCCCCCCCC'''''CCC   C C
+XXXXXX XXXX XXXXXXXXX XXXXX    XXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                   XXXXX
+CCCCCC CCCC CCCCCCCCC CCCCC    CCCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                   CCCCC
 """-"-"----"+""------------"""--------------------------------------------------"--------""++"+"""""++""""""----""""++++++++++M==+++
++++.+.+....+C++............+++..................................................+........++CC+C+++++CC++++++....++++CCCCCCCCCC CCCCC
+CCC'C'C''''C CC''''''''''''CCC''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''CC  C CCCCC  CCCCCC''''CCCC
+   X X XXXX    XXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX                   XXXX
+   C C CCCC    CCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC                   CCCC
 ="-------"-"=----------"----"""---------------"-------------------------------------------"++"""+""""""""""------""+""++"+++++++=++=
+C+.......+.+C..........+....+++...............+...........................................+CC+++C++++++++++......++C++CC+CCCCCCCCCCC
+ C'''''''C'C ''''''''''C''''CCC'''''''''''''''C'''''''''''''''''''''''''''''''''''''''''''C  CCC CCCCCCCCCC''''''CC CC  C
+  XXXXXXX X  XXXXXXXXXX XXXX   XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                 XXXXXX
+  CCCCCCC C  CCCCCCCCCC CCCC   CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                 CCCCCC
 Z"-------""""---------------""""-----------""++"--------------"""--------------""---------""+"""""""""""""""----"""++"++"+++++++++++
+ +.......++++...............++++...........++CC+..............+++..............++.........++C+++++++++++++++....+++CC+CC+CCCCCCCCCCC
+ C'''''''CCCC'''''''''''''''CCCC'''''''''''CC  C''''''''''''''CCC''''''''''''''CC'''''''''CC CCCCCCCCCCCCCCC''''CCC  C  C
+  XXXXXXX    XXXXXXXXXXXXXXX    XXXXXXXXXXX     XXXXXXXXXXXXXX   XXXXXXXXXXXXXX  XXXXXXXXX                  XXXX
+  CCCCCCC    CCCCCCCCCCCCCCC    CCCCCCCCCCC     CCCCCCCCCCCCCC   CCCCCCCCCCCCCC  CCCCCCCCC                  CCCC
 +"-------"-"---------------"+=="------------++"---------------"-"--------------+"----------""""+"""""""""-""----"""""+++++++++++++=+
+C+.......+.+...............+CCC+............CC+...............+.+..............C+..........++++C+++++++++.++....+++++CCCCCCCCCCCCCCC
+ C'''''''C'C'''''''''''''''C   C''''''''''''  C'''''''''''''''C'C'''''''''''''' C''''''''''CCCC CCCCCCCCC'CC''''CCCCC
+  XXXXXXX X XXXXXXXXXXXXXXX     XXXXXXXXXXXX   XXXXXXXXXXXXXXX X XXXXXXXXXXXXXX  XXXXXXXXXX              X  XXXX
+  CCCCCCC C CCCCCCCCCCCCCCC     CCCCCCCCCCCC   CCCCCCCCCCCCCCC C CCCCCCCCCCCCCC  CCCCCCCCCC              C  CCCC
 ""-"---"-"---------"--"---""++"------------"""---------------------------------"-----------""+"""""+""""""""---""""""+"+++++=++++++=
+++.+...+.+.........+..+...++CC+............+++.................................+...........++C+++++C++++++++...++++++C+CCCCCCCCCCCCC
+CC'C'''C'C'''''''''C''C'''CC  C''''''''''''CCC'''''''''''''''''''''''''''''''''C'''''''''''CC CCCCC CCCCCCCC'''CCCCCC C
+  X XXX X XXXXXXXXX XX XXX     XXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX                 XXX
+  C CCC C CCCCCCCCC CC CCC     CCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC                 CCC
 """----"--------------------"-"-"----------------------------------------------------"-------++"""""""""""""-"--""""++"+++++++++++=+
++++....+....................+.+.C....................................................C.......CC+++++++++++++.+..++++CC+CCCCCCCCCCCCC
+CCC''''C''''''''''''''''''''C'C'B''''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''  CCCCCCCCCCCCC'C''CCCC  C
+   XXXX XXXXXXXXXXXXXXXXXXXX X XHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXX               X XX
+   CCCC CCCCCCCCCCCCCCCCCCCC C CXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCC               C CC
 """-------"-------------------+--------------------------------------------------------------"""""""""""""""----"""""+""++++++++++=+
++++.......+...................C..............................................................+++++++++++++++....+++++C++CCCCCCCCCCCC
+CCC'''''''C''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCCCCCC''''CCCCC CC
+   XXXXXXX XXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX               XXXX
+   CCCCCCC CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               CCCC
 """--------"-----------"------"---------------------------------"-----------------------------"""""""""""""--"--"""""+++++++=+++++=+
++++........+...........+......+.................................C.............................+++++++++++++..+..+++++CCCCCCCCCCCCCCC
+CCC''''''''C'''''''''''C''''''C'''''''''''''''''''''''''''''''''B'''''''''''''''''''''''''''''CCCCCCCCCCCCC''C''CCCCC
+   XXXXXXXX XXXXXXXXXXX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XX XX
+   CCCCCCCC CCCCCCCCCCC CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CC CC
 ""------""-""-------"-------"-"---------------------"-------------"----------------------------"""""""""""""--"--""+++"+++++++++++++
+++......++.++.......+.......+.+.....................+.............C............................+++++++++++++..+..++CCC+CCCCCCCCCCCCC
+CC''''''CC'CC'''''''C'''''''C'C'''''''''''''''''''''C'''''''''''''B''''''''''''''''''''''''''''CCCCCCCCCCCCC''C''CC   C
+  XXXXXX  X  XXXXXXX XXXXXXX X XXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XX XX
+  CCCCCC  C  CCCCCCC CCCCCCC C CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CC CC
 ""-------"-----"--------------------"------------------------------------"---------------------"""""""""-""----""""""+"+++++++++++++
+++.......+.....+....................+....................................+.....................+++++++++.++....++++++C+CCCCCCCCCCCCC
+CC'''''''C'''''C''''''''''''''''''''C''''''''''''''''''''''''''''''''''''C'''''''''''''''''''''CCCCCCCCC'CC''''CCCCCC C
+  XXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX         X  XXXX
+  CCCCCCC CCCCC CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCC         C  CCCC
 +"-------"""----------------""""-----------------------------------------------------"----------"""""""""""-"---"""""+"+++++++++++++
+C+.......+++................++++.....................................................+..........+++++++++++.+...+++++C+CCCCCCCCCCCCC
+ C'''''''CCC''''''''''''''''CCCC'''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''''CCCCCCCCCCC'C'''CCCCC C
+  XXXXXXX   XXXXXXXXXXXXXXXX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX           X XXX
+  CCCCCCC   CCCCCCCCCCCCCCCC    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC           C CCC
 "--------""------------------"""-----------------------------------------------------------------""""""""""---"""""""++"++++++++++++
++........++..................+++.................................................................++++++++++...+++++++CC+CCCCCCCCCCCC
+C''''''''CC''''''''''''''''''CCC'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCC'''CCCCCCC  C
+ XXXXXXXX  XXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          XXX
+ CCCCCCCC  CCCCCCCCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC          CCC
 "------""-+--------------"--"---------------------"----------------------------------"------------"-"""-""""---"""""+++++++++++=+++=
++......++.C..............+..+..C..................+..................................+............+.+++.++++...+++++CCCCCCCCCCCCCCCC
+C''''''CC' ''''''''''''''C''C'' ''''''''''''''''''C''''''''''''''''''''''''''''''''''C''''''''''''C'CCC'CCCC'''CCCCC
+ XXXXXX  X XXXXXXXXXXXXXX XX XX XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX X   X    XXX
+ CCCCCC  C CCCCCCCCCCCCCC CC CC CCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC C   C    CCC
 "------""----------------------------------"------"------------------------------------------------"--""-""---""""""""++++++=+++++++
++......++..................................C......+................................................+..++.++...++++++++CCCCCCCCCCCCCC
+C''''''CC''''''''''''''''''''''''''''''''''B''''''C''''''''''''''''''''''''''''''''''''''''''''''''C''CC'CC'''CCCCCCCC
+ XXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X  XXX
+ CCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C  CCC
 -----------------------------"----------"---------""-----------------------------------------------""""""-"----""""+++++++++=+++++=+
+.............................+..........+.........++...............................................++++++.+....++++CCCCCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''C''''''''''C'''''''''CC'''''''''''''''''''''''''''''''''''''''''''''''CCCCCC'C''''CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX XXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      X XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC CCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      C CCCC
 --------------"-------------""--------------------------------------"-------------------------------""--"-------"""""++"++++++++++=+
+..............+.............++......................................C...............................++..+.......+++++CC+CCCCCCCCCCCC
+''''''''''''''C'''''''''''''CC''''''''''''''''''''''''''''''''''''''B'''''''''''''''''''''''''''''''CC''C'''''''CCCCC  C
+XXXXXXXXXXXXXX XXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX XXXXXXX
+CCCCCCCCCCCCCC CCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC CCCCCCC
 --"-------------"-----------+"-----------------------------"------------=----------------------------""--"----""""+"++++"+"++++++=++
+..C.............+...........C+.............................+............C............................++..+....++++C+CCCC+C+CCCCCCCCC
+''B'''''''''''''C''''''''''' C'''''''''''''''''''''''''''''C'''''''''''' ''''''''''''''''''''''''''''CC''C''''CCCC C    C C
+XXHXXXXXXXXXXXXX XXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX XXXX
+CCXCCCCCCCCCCCCC CCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC CCCC
 ----------------"-----------++"------------------------"-----------------------------------------------"-------""""+""++++++++++++++
+................+...........CC+........................+...............................................+.......++++C++CCCCCCCCCCCCCC
+''''''''''''''''C'''''''''''  C''''''''''''''''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''C'''''''CCCC CC
+XXXXXXXXXXXXXXXX XXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXX
+CCCCCCCCCCCCCCCC CCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC
 ""----"---------------------++--------------------------------------------------""--""-------------------------"""++"+++++++++++++==
+++....+.....................CC..................................................++..++.........................+++CC+CCCCCCCCCCCCCCC
+CC''''C'''''''''''''''''''''  ''''''''''''''''''''''''''''''''''''''''''''''''''CC''CC'''''''''''''''''''''''''CCC  C
+  XXXX XXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX  XXXXXXXXXXXXXXXXXXXXXXXXX
+  CCCC CCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC  CCCCCCCCCCCCCCCCCCCCCCCCC
 ""--------------------------"""---------------------"--------"----------------""""""""----------------"--------"""""+"+++++++++++===
+++..........................+++.....................+........+................++++++++................+........+++++C+CCCCCCCCCCCCCC
+CC''''''''''''''''''''''''''CCC'''''''''''''''''''''C''''''''C''''''''''''''''CCCCCCCC''''''''''''''''C''''''''CCCCC C
+  XXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXX        XXXXXXXXXXXXXXXX XXXXXXXX
+  CCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCC CCCCCCCC CCCCCCCCCCCCCCCC        CCCCCCCCCCCCCCCC CCCCCCCC
 ------"-----"--"--"----"""""+"""""""""""------""""""---------""----"---------"++"++++"---------"----"-"""-"--"""""""+++++=+++++=====
+......+.....+..+..+....+++++C+++++++++++......++++++.........++....+.........+CC+CCCC+.........+....+.+++.+..+++++++CCCCCCCCCCCCCCCC
+''''''C'''''C''C''C''''CCCCC CCCCCCCCCCC''''''CCCCCC'''''''''CC''''C'''''''''C  C    C'''''''''C''''C'CCC'C''CCCCCCC
+XXXXXX XXXXX XX XX XXXX                 XXXXXX      XXXXXXXXX  XXXX XXXXXXXXX         XXXXXXXXX XXXX X   X XX
+CCCCCC CCCCC CC CC CCCC                 CCCCCC      CCCCCCCCC  CCCC CCCCCCCCC         CCCCCCCCC CCCC C   C CC
 ""+"++"""""""""+""""""""++"++"+"""""+""""""""""""""----------"""-"-----------""+""""""--"--"--------------"---""+""+"""+++++=+=+++==
+++C+CC+++++++++C++++++++CC+CC+C+++++C++++++++++++++..........+++.+...........++C++++++..+..+..............+...++C++C+++CCCCCCCCCCCCC
+CC C  CCCCCCCCC CCCCCCCC  C  C CCCCC CCCCCCCCCCCCCC''''''''''CCC'C'''''''''''CC CCCCCC''C''C''''''''''''''C'''CC CC CCC
+                                                   XXXXXXXXXX   X XXXXXXXXXXX         XX XX XXXXXXXXXXXXXX XXX
+                                                   CCCCCCCCCC   C CCCCCCCCCCC         CC CC CCCCCCCCCCCCCC CCC
 "+++++++++"""""""""""""""++""""+""""""""""""""""------------------------------""--------"----------------"-"--""""+"+++++++=++=+====
++CCCCCCCCC+++++++++++++++CC++++C++++++++++++++++..............................++........+................+.+..++++C+CCCCCCCCCCCCCCCC
+C         CCCCCCCCCCCCCCC  CCCC CCCCCCCCCCCCCCCC''''''''''''''''''''''''''''''CC''''''''C''''''''''''''''C'C''CCCC C
+                                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXX XXXXXXXXXXXXXXXX X XX
+                                                CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCC CCCCCCCCCCCCCCCC C CC
 """"""-"""-""--""---"-"-"""-"-"""------"------------------------------------------------------------"----"---"""""+++++++++++++=====
+++++++.+++.++..++...+.+.+++.+.+++......+............................................................+....+...+++++CCCCCCCCCCCCCCCCCC
+CCCCCC'CCC'CC''CC'''C'C'CCC'C'CCC''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''C'''CCCCC
+      X   X  XX  XXX X X   X X   XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX XXX
+      C   C  CC  CCC C C   C C   CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC CCC
 ---------------"----------------------------------------------------"---------------------------------"-----""""""++"++++++======+==
+...............+....................................................C.................................+.....++++++CC+CCCCCCCCCCCCCCC
+'''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''''''''''''''''''''''''''''C'''''CCCCCC  C
+XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX
+CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC
 --------------------"-------------------------------------------------------------------------------------"--""""""++++++++++=======
+....................+.....................................................................................+..++++++CCCCCCCCCCCCCCCCC
+''''''''''''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''CCCCCC
+XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX
+CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC
 --------------------+-----------------------------------------------------------"---------"-----------------"""""""++++++++=+=======
+....................C...........................................................+.........+.................+++++++CCCCCCCCCCCCCCCCC
+'''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''C'''''''''''''''''CCCCCCC
+XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCCCCCCCCCC
 --------------"----------------"-----------------------------------------------------------------------------""""""++++++++=++==+===
+..............C................C.............................................................................++++++CCCCCCCCCCCCCCCCC
+''''''''''''''B''''''''''''''''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCC
+XXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -------------------------------------"----------------------------------------------------------------------""+"""++++++++++==+=====
+.....................................+......................................................................++C+++CCCCCCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ------------------------"-----------------------------------------------------------------------------------"""""+"++++++=++========
+........................+...................................................................................+++++C+CCCCCCCCCCCCCCCCC
+''''''''''''''''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ------------------------------------------------------------------------------------------------------------"""""""++++++=+=========
+............................................................................................................+++++++CCCCCCCCCCCCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -------------------------------------------------------------------------------------------------------------""""+"++"+++++=+=======
+.............................................................................................................++++C+CC+CCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC C  C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -------"--------------------------------------------------------------------------------"-------------------"""""""+"+++====+=====MM
+.......C................................................................................+...................+++++++C+CCCCCCCCCCCCC
+'''''''B''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''''''''''''CCCCCCC C
+XXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX
+CCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC
 --------------------------------------------------"--------------------------+------------------------------"""""+"+"++++++=======MM
+..................................................C..........................C..............................+++++C+C+CCCCCCCCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''B'''''''''''''''''''''''''' ''''''''''''''''''''''''''''''CCCCC C C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ---------------"--------------------------------------------------------------------------------------------""""++"++++++===========
+...............+............................................................................................++++CC+CCCCCCCCCCCCCCCCC
+'''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC  C
+XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ---------------------------------------------"--------------------------------------------------"-----------"""""++"+++++=++======M=
+.............................................C..................................................+...........+++++CC+CCCCCCCCCCCCCC C
+'''''''''''''''''''''''''''''''''''''''''''''B''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''''CCCCC  C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC
 -+-----------------------------------------------------"----------------------------------------------------""""++++"++++==+++=+==MM
+.C.....................................................+....................................................++++CCCC+CCCCCCCCCCCCC
+' '''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC    C
+X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 -------------"---------------------------"---"-----------"-----------------------------------------------""--""""""++++++++=======MM
+.............C...........................C...C...........+...............................................++..++++++CCCCCCCCCCCCCCC
+'''''''''''''B'''''''''''''''''''''''''''B'''B'''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''CC''CCCCCC
+XXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX
+CCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC
 -----------------------------------------------------------------------------------------"-----------""""++--"""""""++++++++======MM
+.........................................................................................+...........++++CC..+++++++CCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''''CCCC  ''CCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX      XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC      CC
 --"-------------------------------------------------------------------"----------------------------""+++++"-"""""+""++++++++=++====M
+..C...................................................................C............................++CCCCC+.+++++C++CCCCCCCCCCCCCCC
+''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''''''''''''''''''''''''''CC     C'CCCCC CC
+XXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXX        X
+CCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC        C
 ------------------------------------------------------------------------------------------------"+"++"+++""-"""""++++"+++=+=======MM
+................................................................................................+C+CC+CCC++.+++++CCCC+CCCCCCCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C C  C   CC'CCCCC    C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           C
 ------------"----"-----------------------------------------------------------------------""""+""+"+"+++++++"-"""""++++++++===+====M=
+............C....C.......................................................................++++C++C+C+CCCCCCC+.+++++CCCCCCCCCCCCCCCC C
+''''''''''''B''''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC CC C C       C'CCCCC
+XXXXXXXXXXXXHXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                   X
+CCCCCCCCCCCCXCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                   C
 -----------------"-------------------------------------------------------------------""+========MM=MMM--M--"""""""+++++++++=========
+.................C...................................................................++CCCCCCCCC  C   CC CC+++++++CCCCCCCCCCCCCCCCCC
+'''''''''''''''''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC                    CCCCCCC
+XXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 ------------------------------------------------------------"----------------"+""+"M=M---MM--Z--ZZZZZZZZZXM""""""+++++=+=++======MMM
+............................................................+................+C++C+ C CCC  CC CC           ++++++CCCCCCCCCCCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''''''''''C CC C                        CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCC
 ------------------------------------------------------------"---------"----+=MMM-ZZZZZZZZ---ZZZZZXZZZXXXXZM""""""+++++++==+=====MMMM
+............................................................+.........C....CC   C        CCC               ++++++CCCCCCCCCCCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''B''''                                CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXHXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCXCCCC
 ------------------------"----------------------------------+"------------"++++==MM--AZXZZZZZ-ZZZZZZZXZZXZZM--"""++++++++=+========M=
+........................+..................................C+............+CCCCCC  CC        C              ..+++CCCCCCCCCCCCCCCCCC C
+''''''''''''''''''''''''C'''''''''''''''''''''''''''''''''' C''''''''''''C                                 ''CCC
+XXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXX                                  XX
+CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCC                                  CC
 -----------------------------------"-----------------------""-----------"++++++==+==--ZZZZZXZZXZZZZZZXXXZZ=""""""++++++============M
+...................................+.......................++...........+CCCCCCCCCCCCC                    C++++++CCCCCCCCCCCCCCCCCC
+'''''''''''''''''''''''''''''''''''C'''''''''''''''''''''''CC'''''''''''C                                  CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCC
 -----------------"-------------------+--"--------------------------------"""++=++++=+==ZZ-ZZXZXAZXXZZXXXZZ+-"""""+++++++=====+======
+.................+...................C..+................................+++CCCCCCCCCCC  C                C.+++++CCCCCCCCCCCCCCCCCCC
+'''''''''''''''''C''''''''''''''''''' ''C''''''''''''''''''''''''''''''''CCC                               'CCCCC
+XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                  X
+CCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                  C
 ---------------"-------------------""""""-"""""--"-"""-"----"-"---------------"+++=++++=MMZXXXXXZZXXXXXXZ-"-""""+++"+++=+==========M
+...............+...................++++++.+++++..+.+++.+....+.+...............+CCCCCCCCC                 C+.++++CCC+CCCCCCCCCCCCCCC
+'''''''''''''''C'''''''''''''''''''CCCCCC'CCCCC''C'CCC'C''''C'C'''''''''''''''C                           C'CCCC   C
+XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXX      X     XX X   X XXXX X XXXXXXXXXXXXXXX                             X
+CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC      C     CC C   C CCCC C CCCCCCCCCCCCCCC                             C
 "-------"----"----------"""-"""""""+++""""+"+""-"""""""""""""""--"""""------"""-""-----""+=M-MM--ZZZZXXZZ-"""""""+""+=++=+=+=+====MM
+C.......C....+..........+++.+++++++CCC++++C+C++.+++++++++++++++..+++++......+++.++.....++CC C  CC        C+++++++C++CCCCCCCCCCCCCC
+B'''''''B''''C''''''''''CCC'CCCCCCC   CCCC C CC'CCCCCCCCCCCCCCC''CCCCC''''''CCC'CC'''''CC                 CCCCCCC CC
+HXXXXXXXHXXXX XXXXXXXXXX   X                   X               XX     XXXXXX   X  XXXXX
+XCCCCCCCXCCCC CCCCCCCCCC   C                   C               CC     CCCCCC   C  CCCCC
 ---------------""-"-""""""""+===++"++"""++==+"""++++++""""""+"""""++++"""++=+==+++"+""""---""""++===MZXZZ="""""""++++++=++=++====MMM
+...............++.+.++++++++CCCCCC+CC+++CCCCC+++CCCCCC++++++C+++++CCCC+++CCCCCCCCC+C++++...++++CCCCC     C+++++++CCCCCCCCCCCCCCCC
+'''''''''''''''CC'C'CCCCCCCC      C  CCC     CCC      CCCCCC CCCCC    CCC         C CCCC'''CCCC           CCCCCCC
+XXXXXXXXXXXXXXX  X X                                                                    XXX
+CCCCCCCCCCCCCCC  C C                                                                    CCC
 -----------"--"""""""+++=="+==MM=++"+++====+=+-""""++++++"+"""""=+M-=MMM===M------=++"""--"=++++""-"""+=M"--"""++++++++=+==+=====M==
+...........+..+++++++CCCCC+CCC  CCC+CCCCCCCCCC.++++CCCCCC+C+++++CC CC   CCC CCCCCCCCC+++..+CCCCC++.+++CC +..+++CCCCCCCCCCCCCCCCCC CC
+'''''''''''C''CCCCCCC     C        C          'CCCC      C CCCCC                     CCC''C     CC'CCC   C''CCC
+XXXXXXXXXXX XX                                X                                         XX        X       XX
+CCCCCCCCCCC CC                                C                                         CC        C       CC
 --"-----""""++"""""="""""=++=MMMM+++==MM=+"++++++++++=+"+++=MM-ZXZXXXXZM===-ZXXZ-=+""""""""+"--"----"""--"-""""+++++++++==========MM
+..C.....++++CC+++++C+++++CCCC    CCCCC  CC+CCCCCCCCCCCC+CCCC  C         CCCC    CCC++++++++C+..+....+++..+.++++CCCCCCCCCCCCCCCCCCC
+''B'''''CCCC  CCCCC CCCCC                 C            C                           CCCCCCCC C''C''''CCC''C'CCCC
+XXHXXXXX                                                                                     XX XXXX   XX X
+CCXCCCCC                                                                                     CC CCCC   CC C
 -----"++""++++"""""""++""++"+=M-MM=+==++++=++"++"=++=++++MMZZXXX--M====+++====++"""""""+++""""+"-"""-"++"-"--"""""""++++++++========
+.....+CC++CCCC+++++++CC++CC+CC C  CCCCCCCCCCC+CC+CCCCCCCC       CC CCCCCCCCCCCCC+++++++CCC++++C+.+++.+CC+.+..+++++++CCCCCCCCCCCCCCCC
+'''''C  CC    CCCCCCC  CC  C                 C  C                               CCCCCCC   CCCC C'CCC'C  C'C''CCCCCCC
+XXXXX                                                                                           X   X    X XX
+CCCCC                                                                                           C   C    C CC
 -""++++++++==+++++""+++"""""+=MMM===M===+++++++++MM=-M+=MM-ZMM==++++++++=======++++++++=++""++=+++=+=M=="---"""""++++++++===========
+.++CCCCCCCCCCCCCCC++CCC+++++CC   CCC CCCCCCCCCCCC  CC CC  C   CCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCC CC+...+++++CCCCCCCCCCCCCCCCCCC
+'CC               CC   CCCCC                                                              CC            C'''CCCCC
+X                                                                                                        XXX
+C                                                                                                        CCC
 -++++"+==M==+++"++++++"""+""++Z--=M--M+++"""++++=+=+=++"++==+++==++=+==MMM=====+===+++++++""+=-MZZXZXZ-M""-"""""++++++++-===========
+.CCCC+CCC CCCCC+CCCCCC+++C++CC CCC CC CCC+++CCCCCCCCCCC+CCCCCCCCCCCCCCC   CCCCCCCCCCCCCCCC++CCC       C ++.+++++CCCCCCCCCCCCCCCCCCCC
+'    C         C      CCC CC             CCC           C                                  CC            CC'CCCCC
+X                                                                                                         X
+C                                                                                                         C
 ++""++MMM=+++++++++++++++=++++-ZXZ-XAZ-===+==M==++++++"""""++++++++MMZZ-=++++=M-XXZ-=+++++=M-XAAAAAAAXZ+--""""""++++++++=========MMM
+CC++CC   CCCCCCCCCCCCCCCCCCCCCC   C   CCCCCCC CCCCCCCC+++++CCCCCCCC    CCCCCCC C   CCCCCCCC C          C..++++++CCCCCCCCCCCCCCCCC
+  CC                                                  CCCCC                                             ''CCCCCC
+                                                                                                        XX
+                                                                                                        CC
 +"""+++=++++++++"""+++++M---ZZXAAZM-XAZ-ZZ-Z-M===+++++++"++==+++++MAXAX=MM==+++MI=II-MMM-ZXAI=+IXXAX-M="-"""""""+++++++"++=++====MMM
+C+++CCCCCCCCCCCC+++CCCCC CCC       C   C  C C CCCCCCCCCC+CCCCCCCCC     C  CCCCC     C   C           C C+.+++++++CCCCCCC+CCCCCCCCC
+ CCC            CCC                                     C                                              C'CCCCCCC       C
+                                                                                                        X
+                                                                                                        C
 +""+++++""""+""+++++++++MXXAAAAAAX--ZZ-MMMM=++=++++++++====++=====ZAIIIAAZMM=+=MA==+=II=+++++++A-MMM==="-"""""""""+++++++++====M=M=M
+C++CCCCC++++C++CCCCCCCCC          CC  C    CCCCCCCCCCCCCCCCCCCCCCC          CCC                 C   CCC+.+++++++++CCCCCCCCCCCCC C C
+ CC     CCCC CC                                                                                        C'CCCCCCCCC
+                                                                                                        X
+                                                                                                        C
 +"++++""+"++=+""++=====+=ZAAAXXAX-==+=++++++M+=++++"+++==M=+++++===MXXXX-M=====MM-ZX=1------1+X-====++=--"""""""""+++++++=====MM===M
+C+CCCC++C+CCCC++CCCCCCCCC        CCCCCCCCCCC CCCCCC+CCCCC CCCCCCCCC     C CCCCC  C             CCCCCCCC..+++++++++CCCCCCCCCCCC  CCC
+ C    CC C    CC                                   C                                                   ''CCCCCCCCC
+                                                                                                       XX
+                                                                                                       CC

+
+
+
+
1










































                                                    2 OF   3SECTIONS.

                              PRINTED ON 03/31/73 AT 15.32.19
                    DATA CARD WITH CORRECTED VALUES:    17    1  320    1         1  630    1   15   80
1

+
+
+
+

+
+
+
+

+
+
+
+
           -                         -                                   -             -=+=+ -==+++=++-====+1==XXAAI=IAIIAXAAAAI1III=
+
+
+
+
      ---          -           1--     1-- -- --  1--1-=+1-1  --- 1- 111 11-    -   -1+1+1+1      --  --++=I+-=Z--XIAI===IAXAAAX=AXXA
+                                                                                                               CC
+
+
+
 +-- -++===-1--11---1--    ---         - -  - -  ---1=+==+1+1 --1+=- 11+11+++--11-=+++=++===+==+IIAAAAAAAIIII-A--M-XAXAXXXXIAIAXIIIII
+                                                                                                              CC C
+
+
+
 AZZAA---ZAI11+++1++=++1  ---         -1+++1111--+IIAXXXXAA=+ 1=IAI++=+=II=+=-++- 1-1+=++==+===1-AAAAAAAAAAAI=I--M-ZXXX--ZZXXZ---ZXXX
+     CCC                                                                                                      CC C    CC     CCC
+
+
+
  AA=AIAZZX=1+=IIIXXI=+1  =1=IA=IA++==II==+IAAXXXIA1AZZI--1++++1+AXI =IAIXXXAAAAXIAIIIXXAXXAAAXA+XXXAIXXA=I+I+ +XM-Z----------MM-MMMM
+                                                                                                                 C CCCCCCCCCC  C
+
+
+
 M-=MZ-MMM+AXZZZAAXZZXXX=XXIIIIIIIXAXXAAAXXXZZ--ZZZZMMMXXAZ--MM-Z--ZAZ-MMMM-M--ZZAZAXXZZZZZ-Z---Z---ZX-----MM-M"""+MMMM====+=++=+++++
+ CC  C                                       CC           CC  C CC   C    C CC            C CCC CCC  CCCCC  C +++C    CCCCCCCCCCCCCC
+                                                                                                              CCC
+
+
 MZ-=Z-==MAZ--M-ZXZZZZXX=XXXXXAAAAXXXIIAAXXXZZZZZXZ--M-ZAXXZ---ZZZXAXXXZZZXZ-MMZXAXXXXXZZ-Z------M--Z---Z-MM--="-"+MMMM=M=M==++++++"+
+  CC CCC   CC C                                   CC C     CCC             C            C CCCCCC CC CCC C  CCC+.+C    C C CCCCCCCC+C
+                                                                                                              C'C                 C
+                                                                                                               X
+                                                                                                               C
 =+==+=+=+Z-M==Z---X--IA=XAAIAIIIAAXAAIAAAAXXXXZXXAZZZZXIXZXAXXXXXAAIAAAAAXZ-M-XXA=XAXXXZ-ZZZZZ----MX-ZZ-MMM--="-"+M-M=MM-MM===++++++
+CCCCCCCCC C CC CCC CC                                                      C C          C     CCCC  C  C   CCC+.+C C C  C  CCCCCCCCC
+                                                                                                              C'C
+                                                                                                               X
+                                                                                                               C
 "--""++++MZZ""=MMMM=-IAIAAAAAZXAAXXZXXXAXAAAAXXZ-XZ---ZXZXAAXZXXZXI=AAXXZ-ZZ-----ZXXXZZZ-ZXXZZZZ-----M-MMM-ZM=""""=MMMM-MMM====+++++
++..++CCCC   ++C    CC                           C  CCC                   C  CCCCC       C       CCCCC C   C  C++++C    C   CCCCCCCCC
+C''CC       CC                                                                                                CCCC
+ XX
+ CC
 ----"++""=-=""+=====M-ZZZZXXXXXXZZZ-ZZXAXXXAXZ---Z-M--ZZZZXZZ--ZZ-ZAZZZZ-Z-----ZZXZZZM---ZXZ--MMMMM-ZMMMMMMMM="""+=M==MM=====+=+++"+
+....+CC++CCC++CCCCCC C             C          CCC C CC       CC  C      C CCCCC       CCC   CC     C         C+++CC CC  CCCCCCCCCC+C
+''''C  CC   CC                                                                                                CCC                 C
+XXXX
+CCCC
 "---"""+=M+""-"==++=M--ZXXZZXXXZ--ZZXZZXXXZZZZ---ZA-ZZXXXZ--Z--ZZ--Z---Z----ZZZZZZZ-MM----Z-MMMMMMM-MMMMMMMMM="-""=M====M=======+++"
++...+++CC C++.+CCCCC CC         CC            CCC  C      CC CC  CC CCC CCCC       C  CCCC C       C         C+.++C CCCC CCCCCCCCCC+
+C'''CCC    CC'C                                                                                               C'CC                 C
+ XXX         X                                                                                                 X
+ CCC         C                                                                                                 C
 ++"""""+=-=+++"++""+=M-ZXXZZZZ---ZXZZZZZZX--ZZZ--ZXZZZZZ---M---Z-Z----M----MM-ZZZZ--MM-----Z-MMZM===MMMMM=M=M="--"=M====+======+++++
+CC+++++CCCCCCC+CC++CC C       CCC         CC   CC       CCC CCC C CCCC CCCC  C    CC  CCCCC C    CCC     C C C+..+C CCCCCCCCCCCCCCCC
+  CCCCC       C  CC                                                                                           C''C
+                                                                                                               XX
+                                                                                                               CC
 M+M=++=++=++"+"---""""=-ZZZZZZ-Z--ZZXZZXZZ-ZZ-ZZZ---XZZZ---M----M----------MM-ZZ-----MMZ-ZZZ----===MMMM==MMMM=""""MMM=====+====+++++
+ C CCCCCCCCC+C+...++++CC      C CC        C  C   CCC    CCC CCCC CCCCCCCCCC  C  CCCCC   C   CCCCCCC    CC    C++++   CCCCCCCCCCCCCCC
+            C C'''CCCC                                                                                        CCCC
+               XXX
+               CCC
 "--""-"-"+"----""""---""=M-----ZZ----XZZZZ-Z-XZZ-MMM-ZZZZ------Z--ZZZZ---Z---ZXZ------MMM------MM===M-M====M=+"--+==MM==++====+++"++
++..++.+.+C+....++++...++C CCCCC  CCCC     C C   C   C    CCCCCC CC    CCC CCC   CCCCCC   CCCCCC  CCC C CCCC CC+..CCC  CCCCCCCCCCC+CC
+C''CC'C'C C''''CCCC'''CC                                                                                      C''                C
+ XX  X X   XXXX    XXX                                                                                         XX
+ CC  C C   CCCC    CCC                                                                                         CC
 -"-""""""+"""---+++""+""""+-Z-M----M-ZXXZZ---ZZZ--M-ZZ-ZZZ-ZZZZZZZ--ZXZ--ZZ-ZZXXZ---ZZ------ZZZMM-M=MMMM===MM="--+MM=M====M====+++++
+.+.++++++C+++...CCC++C++++CC C CCCC C     CCC   CC C  C   C       CC   CC  C     CCC  CCCCCC     C C    CCC  C+..C  C CCCC CCCCCCCCC
+'C'CCCCCC CCC'''   CC CCCC                                                                                    C''
+X X          XXX                                                                                               XX
+C C          CCC                                                                                               CC
 --"="""""+"""""--"""""+=+""+MX----M-ZZZZZZ---------ZZZZ-----ZZXZXZZ--ZZZZZ---ZXXZ---Z-ZZZZZ-ZX-M-MM==MMMMM=MM=""""MM=MM====M===+++++
+..+C+++++C+++++..+++++CCC++C  CCCC C      CCCCCCCCC    CCCCC       CC     CCC    CCC C     C  C C  CC     C  C++++  C  CCCC CCCCCCCC
+''C CCCCC CCCCC''CCCCC   CC                                                                                   CCCC
+XX             XX
+CC             CC
 ""+""""""+""-""---""=-"+=-M++MIX-M-ZZ--Z---M----MMMZZ-ZZ---ZZXXXXZZZ-M-ZZ-M--XI  AA  XI- A IA Z  A==1-= XI +M=1"-"=I MM1=M--AAMAM+++
+++C++++++C++.++..C++C.+CCC CC   C C  CC CCC CCCC     C  CCC         C C  C CC                        C         +.+C        C     CCC
+CC CCCCCC CC'CC'' CC 'C                                                                                        C'C
+            X  XX    X                                                                                          X
+            C  CC    C                                                                                          C
 """"----""""-----"--"""-+-M==MZAAAXZ-----MMM---M-M-ZZZZZ-Z-ZZZZZXXZ-Z-----M-ZZ-  IX+ A   A  - X= IA 1X  IA1 X  M-"M  =A  Z X  A -=++
+++++....++++.....+..+++.CC CC       CCCCC   CCC C C     C C        C CCCCC C                                    .+              CCCC
+CCCC''''CCCC'''''C''CCC'                                                                                        'C
+    XXXX    XXXXX XX   X                                                                                        X
+    CCCC    CCCCC CC   C                                                                                        C
 ""-"------"-""-------+"-"=MMMM-MMXXX----M--MMM-MM---ZZZ-----ZZZZZ---ZZZ--MMMZZ1  =-+ A   I    ZI IM AA  I-  -I =-"=A AMI - X    -+++
+++.+......+.++.......C+.+C    C     CCCC CC   C  CCC   CCCCC     CCC   CC         C                      C  C  C.+C      C      CCCC
+CC'C''''''C'CC''''''' C'C                                                                                       'C
+  X XXXXXX X  XXXXXXX  X                                                                                        X
+  C CCCCCC C  CCCCCCC  C                                                                                        C
 """"-----------------"+""++===M==+M--M=M=--MMMM-MM-ZZX----ZXZ-ZZZ-M--XZZZMM-ZZI  +-I I   A    ZX IM A-+ =-- - A"-"+ -MZ AM X    Z+++
+++++.................+C++CCCCC CCC CC C CCC    C  C   CCCC   C   C CC      C      C                  C   C  C  +.+C              CCC
+CCCC'''''''''''''''''C CC                                                                                      C'C
+    XXXXXXXXXXXXXXXXX                                                                                           X
+    CCCCCCCCCCCCCCCCC                                                                                           C
 ""-"--------"--"""----"""+"+=M=+++"+=====MMM==MM=M--ZXZM--ZXZ-ZZX-MM--Z--MM-ZZ+  1-Z I = I -  Z- =M IM-++MA X +X""= =-I--A A -  Z++=
+++.+........+..+++....+++C+CC CCCC+CCCCCC   CC  C CC    CC   C   C  CC CC  C      C            C      C         ++C              CCC
+CC'C''''''''C''CCC''''CCC C       C                                                                             CC
+  X XXXXXXXX XX   XXXX
+  C CCCCCCCC CC   CCCC
 ""----------"-""---"-"""""""+MM===+""""=MMMMMM===MM--MX-M--ZZ------------MMM-Z+===A  XA  X II X  AM A=MI=+  Z  --"=  =Z  Z-Z+X1 X+++
+++..........+.++...+.+++++++C  CCCC++++C      CCC  CC  C CC  CCCCCCCCCCCC   C                        C         C.+C              CCC
+CC''''''''''C'CC'''C'CCCCCCC       CCCC                                                                         'C
+  XXXXXXXXXX X  XXX X                                                                                           X
+  CCCCCCCCCC C  CCC C                                                                                           C
 "----------"+"""-"-"-------""+====+""""+=-M=MM====MM-MM-M------MMZZ----MMM----Z----XZ-ZXZZZZ-Z-Z--MZM=M--Z-MM-+--"=MMMMMM===M+-M=+++
++..........+C+++.+.+.......++CCCCCC++++CCC C  CCCC  C  C CCCCCC    CCCC   CCCC CCCC  C      C C CC   C CC C  CC..+C      CCC CC CCCC
+C''''''''''C CCC'C'C'''''''CC      CCCC                                                                        ''C
+ XXXXXXXXXX     X X XXXXXXX                                                                                    XX
+ CCCCCCCCCC     C C CCCCCCC                                                                                    CC
 "-"---------="-"-----------"-"+M==++""""+MM====+==MMM-------MMM=M---MM-==M-Z--Z-MM----ZZZ-----MM=MM==MMMMMMMM=+--"=M==MM===++==+=+++
++.+.........C+.+...........+.+C CCCC++++C  CCCCCCC   CCCCCCC   C CCC  CCC C CC C  CCCC   CCCCC  C  CC        CC..+C CC  CCCCCCCCCCCC
+C'C''''''''' C'C'''''''''''C'C      CCCC                                                                       ''C
+ X XXXXXXXXX  X XXXXXXXXXXX X                                                                                  XX
+ C CCCCCCCCC  C CCCCCCCCCCC C                                                                                  CC
 --"----"+--"""""-"-"--"-"--"-"-"""+==+"""=MM=====MMMM----ZZ-MMM=-ZMMMMMMM--ZZZZ-MM-----ZZZZM-M========MM=M=M-M+--+==M=M=+=+==++-X=++
+..+....+C..+++++.+.+..+.+..+.+.+++CCCC+++C  CCCCC    CCCC  C   CC        CC    C  CCCCC     C CCCCCCCC  C C C C..CCC C CCCCCC    CCC
+''C''''C ''CCCCC'C'C''C'C''C'C'CCC    CCC                                                                      ''
+XX XXXX  XX     X X XX X XX X X                                                                                XX
+CC CCCC  CC     C C CC C CC C C                                                                                CC
 ------""="-"""-"-------"-------"-"""M=="-"=M++====MM-MMMMMM-M-M----M=MM----Z--ZMM=-----MMMMMM=M=======M==M=M-M"--"=====++=++=+ +=+++
+......++C+.+++.+.......+.......+.+++ CC+.+C CCCCCC  C      C C CCCC C  CCCC CC   CCCCCC      C CCCCCCC CC C C +..+CCCCCCCCCCC   CCCC
+''''''CC C'CCC'C'''''''C'''''''C'CCC   C'C                                                                    C''C
+XXXXXX    X   X XXXXXXX XXXXXXX X       X                                                                      XX
+CCCCCC    C   C CCCCCCC CCCCCCC C       C                                                                      CC
 -----"++="""""""--""""----"-""-----"+==+""+=++==+=MMM=M--M------ZZ-MM=M----Z-Z--MM---MM=MMMMMMM=M====MMMMMMMMM+--"====+==+=+=I  X=++
+.....+CCC+++++++..++++....+.++.....+CCCC++CCCCCCCC   C CC CCCCCC  C  C CCCC C CC  CCC  C       C CCCC         C..+CCCCCCCCCCC    CCC
+'''''C   CCCCCCC''CCCC''''C'CC'''''C    CC                                                                     ''C
+XXXXX           XX    XXXX X  XXXXX                                                                            XX
+CCCCC           CC    CCCC C  CCCCC                                                                            CC
 -"--""+=="+++"--""""------"""""-""--"+=="-"+++===MMMM=M----M-MM----MMMM--M----Z-----MMM=MMM=MMM======MMMMMMMMM"-""+===+===+"=MA+A+++
+.+..++CCC+CCC+..++++......+++++.++..+CCC+.+CCCCCC    C CCCC C  CCCC    CC CCCC CCCCC   C   C   CCCCCC         +.++CCCCCCCCC+C    CCC
+'C''CC   C   C''CCCC''''''CCCCC'CC''C   C'C                                                                   C'CC         C
+X XX          XX    XXXXXX     X  XX     X                                                                     X
+C CC          CC    CCCCCC     C  CC     C                                                                     C
 "----""++""++"----""-"""--""+""+""""""+M+""+++==+==MM==M---MMMM-M--M=MMMMM----Z--M---MM-MMMMMMMM======M===M--="-""+==++==++++MA I=++
++....++CC++CC+....++.+++..++C++C++++++C C++CCCCCCCC  CC CCC    C CC C     CCCC CC CCC  C        CCCCCC CCC CCC+.++CCCCCCCCCCC    CCC
+C''''CC  CC  C''''CC'CCC''CC CC CCCCCC   CC                                                                   C'CC
+ XXXX         XXXX  X   XX                                                                                     X
+ CCCC         CCCC  C   CC                                                                                     C
 -------""+""""----------"-""""""""+""""+=+++""+++MMMM=MMM-MMMMMMMMMM=MMM-M------------MM--M==MM=========MM-MM="--"+==++==++++A  X+++
+.......++C++++..........+.++++++++C++++CCCCC++CCC    C   C          C   C CCCCCCCCCCCC  CC CC  CCCCCCCCC  C  C+..+CCCCCCCCCCC    CCC
+'''''''CC CCCC''''''''''C'CCCCCCCC CCCC     CC                                                                C''C
+XXXXXXX       XXXXXXXXXX X                                                                                     XX
+CCCCCCC       CCCCCCCCCC C                                                                                     CC
 --------""""""------"---"""""""""-""""""++=+"++=+MMMM=MMMMMMMMMMM--MMMM-M---M-M--------MMMMM==M===+=====MMMMM="--"+===++++"++ZAIX+++
+........++++++......+...+++++++++.++++++CCCC+CCCC    C           CC    C CCC C CCCCCCCC     CC CCCCCCCCC     C+..+CCCCCCCC+CC    CCC
+''''''''CCCCCC''''''C'''CCCCCCCCC'CCCCCC    C                                                                 C''C        C
+XXXXXXXX      XXXXXX XXX         X                                                                             XX
+CCCCCCCC      CCCCCC CCC         C                                                                             CC
 "--------"-""-----""----""""""""""-"----""+"+++++MMMMMMMM=MMMMMM---MMMM-MM------M-MMMMM====M=========M=====M=="---+===+++++++X  =+++
++........+.++.....++....++++++++++.+....++C+CCCCC        C      CCC    C  CCCCCC C     CCCC CCCCCCCCC CCCCC CC+...CCCCCCCCCCC    CCC
+C''''''''C'CC'''''CC''''CCCCCCCCCC'C''''CC C                                                                  C'''
+ XXXXXXXX X  XXXXX  XXXX          X XXXX                                                                       XXX
+ CCCCCCCC C  CCCCC  CCCC          C CCCC                                                                       CCC
 ---------""+""----"+-"-"--"-"""""--"---"---""+""+M---M---MMMMMM--Z-MMMMM==MM---MMMMM-MMM==MM=======M=MM=====MM""""+==+++++++=XAM=+++
+.........++C++....+C.+.+..+.+++++..+...+...++C++C CCC CCC      CC C     CC  CCC     C   CC  CCCCCCC C  CCCCC  ++++CCCCCCCCCCC   CCCC
+'''''''''CC CC''''C 'C'C''C'CCCCC''C'''C'''CC CC                                                              CCCC
+XXXXXXXXX     XXXX  X X XX X     XX XXX XXX
+CCCCCCCCC     CCCC  C C CC C     CC CCC CCC
 --------"-"-------"""---------"-------"-----""""+M-M=M--MM==MMMM--MMMMM===M---MM==MMMMMM=M==MM=+=MM===M======+"---+=++++++++=X  -+=+
+........+.+.......+++.........+.......+.....++++C C C CC  CC    CC     CCC CCC  CC      C CC  CCC  CCC CCCCCCC+...CCCCCCCCCCC    CCC
+''''''''C'C'''''''CCC'''''''''C'''''''C'''''CCCC                                                              C'''
+XXXXXXXX X XXXXXXX   XXXXXXXXX XXXXXXX XXXXX                                                                   XXX
+CCCCCCCC C CCCCCCC   CCCCCCCCC CCCCCCC CCCCC                                                                   CCC
 -------"--"-------""-------------------"-----"""+=MM===MM==MMMMMMMM=MMMMM=M---M==MMMMMM-=====MM==MM===MMMM===="--"+=++++"++++-  I++"
+.......+..+.......++...................+.....+++CC  CCC  CC        C     C CCC CC      CCCCCC  CC  CCC    CCCC+..+CCCCCC+CCCCC   CC+
+'''''''C''C'''''''CC'''''''''''''''''''C'''''CCC                                                              C''C      C          C
+XXXXXXX XX XXXXXXX  XXXXXXXXXXXXXXXXXXX XXXXX                                                                  XX
+CCCCCCC CC CCCCCCC  CCCCCCCCCCCCCCCCCCC CCCCC                                                                  CC
 ----"-------------"-----"-"------------"---"--"""+=====M==MMMMMMM--MMMMM-=ZZZ-MMMMMMM-MMM===MMM===M========MM="--"++++""""+++-  1+"+
+....+.............+.....+.+............+...+..+++CCCCCC CC       CC     CC   C       C   CCC   CCC CCCCCCCC  C+..+CCCC++++CCCC   C+C
+''''C'''''''''''''C'''''C'C''''''''''''C'''C''CCC                                                             C''C    CCCC        C
+XXXX XXXXXXXXXXXXX XXXXX X XXXXXXXXXXXX XXX XX                                                                 XX
+CCCC CCCCCCCCCCCCC CCCCC C CCCCCCCCCCCC CCC CC                                                                 CC
 -------""--------+-----"----"------------------""+=M===M=M-MMMM=MM-M-M=MMM-Z--MM-MM--1-MMMMMM=======M=M=M====="--""++++"+++==A=- +++
+.......++........C.....+....+..................++CC CCC C C    C  C C C   C CC  C  CC C      CCCCCCC C C CCCCC+..++CCCC+CCCCC  C CCC
+'''''''CC'''''''' '''''C''''C''''''''''''''''''CC                                                             C''CC    C
+XXXXXXX  XXXXXXXX XXXXX XXXX XXXXXXXXXXXXXXXXXX                                                                XX
+CCCCCCC  CCCCCCCC CCCCC CCCC CCCCCCCCCCCCCCCCCC                                                                CC
 ----------------"---------"----------------"----"+====MMM====MMMMMMMM==MMM-Z-MM----MMAMMMMMMM=M==============="-"+++++++++++=M- -=++
+................+.........+................+....+CCCCC   CCCC        CC   C C  CCCC          C CCCCCCCCCCCCCCC+.+CCCCCCCCCCCC   CCCC
+''''''''''''''''C'''''''''C''''''''''''''''C''''C                                                             C'C
+XXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXX XXXX                                                               X
+CCCCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCCCCCCCCC CCCC                                                               C
 "------------------"--"--""""--------------"----"""++=MMM=M=MMMMMMMMMMM-MM-Z-MM------ZMM-M==M===+==M=======M=M"--"+==+++++++=Z -=+++
++..................+..+..++++..............+....+++CCC   C C           C  C C  CCCCCC   C CC CCCCCC CCCCCCC C +..+CCCCCCCCCCC    CCC
+C''''''''''''''''''C''C''CCCC''''''''''''''C''''CCC                                                           C''C
+ XXXXXXXXXXXXXXXXXX XX XX    XXXXXXXXXXXXXX XXXX                                                               XX
+ CCCCCCCCCCCCCCCCCC CC CC    CCCCCCCCCCCCCC CCCC                                                               CC
 +---------------"-"---"---"""--------"----------"""===M==MMMM-M=MM-MMMM----Z-M------MMM--M========MM===MM==M==+--""=+++++++==Z IZ+++
+C...............+.+...+...+++........+..........+++CCC CC    C C  C    CCCC C CCCCCC   CC CCCCCCCC  CCC  CC CCC..++CCCCCCCCCC    CCC
+ '''''''''''''''C'C'''C'''CCC''''''''C''''''''''CCC                                                            ''CC
+ XXXXXXXXXXXXXXX X XXX XXX   XXXXXXXX XXXXXXXXXX                                                               XX
+ CCCCCCCCCCCCCCC C CCC CCC   CCCCCCCC CCCCCCCCCC                                                               CC
 -""-------------""-"--"--"""---"---"---"--------""+M=MMM=====-MMM-MMMMM---ZZ-M-Z----MMMMMMM=====M==+===M====M="-""+=+=++=++==Z-M++=+
+.++.............++.+..+..+++...+...+...+........++C C   CCCCCC   C     CCC  C C CCCC       CCCCC CCCCCC CCCC C+.++CCCCCCCCCCC   CCCC
+'CC'''''''''''''CC'C''C''CCC'''C'''C'''C''''''''CC                                                            C'CC
+X  XXXXXXXXXXXXX  X XX XX   XXX XXX XXX XXXXXXXX                                                               X
+C  CCCCCCCCCCCCC  C CC CC   CCC CCC CCC CCCCCCCC                                                               C
 -------"--------""---------"---------------------""===MM===+=MMMMMMMMMM-----M--ZMM---MM=M=MM====M-============"---+++=+++====-1A1M==
+.......+........++.........+.....................++CCC  CCCCC          CCCCC CC   CCC  C C  CCCC CCCCCCCCCCCCC+...CCCCCCCCCCCC    CC
+'''''''C''''''''CC'''''''''C'''''''''''''''''''''CC                                                           C'''
+XXXXXXX XXXXXXXX  XXXXXXXXX XXXXXXXXXXXXXXXXXXXXX                                                              XXX
+CCCCCCC CCCCCCCC  CCCCCCCCC CCCCCCCCCCCCCCCCCCCCC                                                              CCC
 -------"--"--"-""------"--"----------""------""---"++=MMM=+===M=M=M-MMMZ-----M--MMMMMMMMM=M====MMMM===========+---++====+====-1  M==
+.......+..+..+.++......+..+..........++......++...+CCC   CCCCC C C C    CCCCC CC         C CCCC    CCCCCCCCCCCC...CCCCCCCCCCCC    CC
+'''''''C''C''C'CC''''''C''C''''''''''CC''''''CC'''C                                                            '''
+XXXXXXX XX XX X  XXXXXX XX XXXXXXXXXX  XXXXXX  XXX                                                             XXX
+CCCCCCC CC CC C  CCCCCC CC CCCCCCCCCC  CCCCCC  CCC                                                             CCC
 -------"---"""-"""----------"--------"-"------"---""+=MM=+++=MM=MM--MMMZ-----MM--M---MMMMMM=======M===========+---"+==========MZM=++
+.......+...+++.+++..........+........+.+......+...++CC  CCCCC  C  CC    CCCCC  CC CCC      CCCCCCC CCCCCCCCCCCC...+CCCCCCCCCCC   CCC
+'''''''C'''CCC'CCC''''''''''C''''''''C'C''''''C'''CC                                                           '''C
+XXXXXXX XXX   X   XXXXXXXXXX XXXXXXXX X XXXXXX XXX                                                             XXX
+CCCCCCC CCC   C   CCCCCCCCCC CCCCCCCC C CCCCCC CCC                                                             CCC
 -----"--"-"""""----""-------"-""----""-"""-----"-""+===M==+==MMMMM--MM-------M---M---M===MMM=====M=M=M==+=====+-"-+====++=========++
+.....+..+.+++++....++.......+.++....++.+++.....+.++CCCC CCCCC     CC  CCCCCCC CCC CCC CCC   CCCCC C C CCCCCCCCC.+.CCCCCCCCCCCCCCCCCC
+'''''C''C'CCCCC''''CC'''''''C'CC''''CC'CCC'''''C'CC                                                            'C'
+XXXXX XX X     XXXX  XXXXXXX X  XXXX  X   XXXXX X                                                              X X
+CCCCC CC C     CCCC  CCCCCCC C  CCCC  C   CCCCC C                                                              C C
 ---"-"-"-----------------------------"""-----------"+=M=====MMMMM--MMMMM-MMMMMM-MM----MMMMM===+=======+======="---+===+====++=1+1M++
+...+.+.+.............................+++...........+CC CCCCC     CC     C      C  CCCC     CCCCCCCCCCCCCCCCCCC+...CCCCCCCCCCCC    CC
+'''C'C'C'''''''''''''''''''''''''''''CCC'''''''''''C                                                          C'''
+XXX X X XXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXXXXXXX                                                            XXX
+CCC C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCCCCCCC                                                            CCC
 -------------------------------"----""""-------"-""""=M===M=MMMMMIAM=M---MMMMMMMMMM-M-M-MMM===================+---+===+===+++=  A==+
+...............................+....++++.......+.++++C CCC C        C CCC          C C C   CCCCCCCCCCCCCCCCCCCC...CCCCCCCCCCCC   CCC
+'''''''''''''''''''''''''''''''C''''CCCC'''''''C'CCCC                                                          '''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX    XXXXXXX X                                                              XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC    CCCCCCC C                                                              CCC
 --------------------------------------""-------""""""MMM===ZX==XI--M=M-M-MMMM---MMMM-MMMM=MM========+=+++====+"---+==+===++==M   Z==
+......................................++.......++++++   CCC       C C C C    CCC    C    C  CCCCCCCCCCCCCCCCCC+...CCCCCCCCCCC     CC
+''''''''''''''''''''''''''''''''''''''CC'''''''CCCCCC                                                         C'''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXX                                                                XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCC                                                                CCC
 -""--------"-"----"----------------"---"-""-"""""""""=MM==-+1    -=MMM-M-MMM=--ZMMMM=MMMM===+===M=====++=+=+++"---"+===M===+==MM=ZM=
+.++........+.+....+................+...+.++.+++++++++C  CCC      CC   C C   CCC     C    CCCCCCC CCCCCCCCCCCCC+...+CCCC CCCCCC     C
+'CC''''''''C'C''''C''''''''''''''''C'''C'CC'CCCCCCCCC                                                         C'''C
+X  XXXXXXXX X XXXX XXXXXXXXXXXXXXXX XXX X  X                                                                   XXX
+C  CCCCCCCC C CCCC CCCCCCCCCCCCCCCC CCC C  C                                                                   CCC
 -"-------------"-----------------------"--"---"""""""====-A=-   =M==MM-MMMMMM----M-M==MMM=====M======++++=++=+""--"+===MM=+++MX= -+=
+.+.............+.......................+..+...+++++++CCCCC        CC  C      CCCC C CC   CCCCC CCCCCCCCCCCCCCC++..+CCCC  CCCC    CCC
+'C'''''''''''''C'''''''''''''''''''''''C''C'''CCCCCCC                                                         CC''C
+X XXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXX XX XXX                                                                  XX
+C CCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCC CC CCC                                                                  CC
 """------------------------------"----------""""""""+M==MZI1-- +MMM=M--M--MMMM--M--M=MMMMM====MM==++=+==+==+==+"-""+======++==+  Z++
++++..............................+..........++++++++C CC           C CC CC    CC CC C     CCCC  CCCCCCCCCCCCCCC+.++CCCCCCCCCCC    CC
+CCC''''''''''''''''''''''''''''''C''''''''''CCCCCCCC                                                           C'CC
+   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX                                                                    X
+   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC                                                                    C
 """-"--"---"---------------------"------"---""++""""=M+=-A+-----=MMMMMMMZ-MMMM-----=====M=====MM=+=+=+++===+==+"-""======++====XX-=+
++++.+..+...+.....................+......+...++CC++++C CCC      CC        C    CCCCCCCCCC CCCCC  CCCCCCCCCCCCCCC+.++CCCCCCCCCCC   CCC
+CCC'C''C'''C'''''''''''''''''''''C''''''C'''CC  CCCC                                                           C'CC
+   X XX XXX XXXXXXXXXXXXXXXXXXXXX XXXXXX XXX                                                                    X
+   C CC CCC CCCCCCCCCCCCCCCCCCCCC CCCCCC CCC                                                                    C
 ""-"---"+""-------"--------"-----------"----""+""""+++==ZI+---Z===MMM=M---M==MM---MMMM======M=======+======+==+--"+M=M====+++=I  X==
+++.+...+C++.......+........+...........+....++C++++CCCCC       CCC   C CCC CC  CCC    CCCCCC CCCCCCCCCCCCCCCCCC..+C C CCCCCCCC    CC
+CC'C'''C CC'''''''C''''''''C'''''''''''C''''CC CCCC                                                            ''C
+  X XXX    XXXXXXX XXXXXXXX XXXXXXXXXXX XXXX                                                                   XX
+  C CCC    CCCCCCC CCCCCCCC CCCCCCCCCCC CCCC                                                                   CC
 -------""---"--"--------------"""------------""-""""++MMX=--=-====M===M--===MMMM-MMMMMM====M==++====+++++++++=+"-"+=MM===+"+=+=+AZ==
+.......++...+..+..............+++............++.++++CC       CCCCC CCC CCCCC    C      CCCC CCCCCCCCCCCCCCCCCCC+.+CC  CCCC+CCC    CC
+'''''''CC'''C''C''''''''''''''CCC''''''''''''CC'CCCC                                                           C'C        C
+XXXXXXX  XXX XX XXXXXXXXXXXXXX   XXXXXXXXXXXX  X                                                                X
+CCCCCCC  CCC CC CCCCCCCCCCCCCC   CCCCCCCCCCCC  C                                                                C
 -------""--"---"-"----------"""=="----------"-"-""""+=-ZA1-1I===MMMMMMM--MMMMMMM--MMMM====M==+=+===+++==+++=+=+""""=====++++++X  IM=
+.......++..+...+.+..........+++CC+..........+.+.++++CCC      CCC       CC       CC    CCCC CCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCC     C
+'''''''CC''C'''C'C''''''''''CCC  C''''''''''C'C'CCCC                                                           CCCC
+XXXXXXX  XX XXX X XXXXXXXXXX      XXXXXXXXXX X X
+CCCCCCC  CC CCC C CCCCCCCCCC      CCCCCCCCCC C C
 -----------"---"-"-----------"++--""--------""""--"-"MXAA1-1Z+==MMMMMM--MMMMMMMMM-MM===============+++=++++++=+""""====+++++++Z  A=+
+...........+...+.+...........+CCCC++........++++..+.+        CCC      CC         C  CCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCC    CC
+'''''''''''C'''C'C'''''''''''C    CC''''''''CCCC''C'C                                                          CCCC
+XXXXXXXXXXX XXX X XXXXXXXXXXX       XXXXXXXX    XX X
+CCCCCCCCCCC CCC C CCCCCCCCCCC       CCCCCCCC    CC C
 ------"---------"-------"----"++=XX-"--"--------""""+-XI+--==+==MMMM--M--MMMMMMM-ZMMM=M===M+======+=++=++=++==+"""+==M=+++==++Z  +=+
+......+.........+.......+....+CCC  C+..+........++++CC      CCCC    CC CC       C    C CCC CCCCCCCCCCCCCCCCCCCC+++CCC CCCCCCCC    CC
+''''''C'''''''''C'''''''C''''C      C''C''''''''CCCC                                                           CCC
+XXXXXX XXXXXXXXX XXXXXXX XXXX        XX XXXXXXXX
+CCCCCC CCCCCCCCC CCCCCCC CCCC        CC CCCCCCCC
 ------------------------------"""==M"--------------"+ZA=111==+====MM-MMMMM---M--Z--MM=M===M=+====++++++==++++=+"--+===++++++++-+ ==+
+..............................+++CC +..............+C       CCCCCC  C     CCC CC CC  C CCC CCCCCCCCCCCCCCCCCCCC+..CCCCCCCCCCCCC   CC
+''''''''''''''''''''''''''''''CCC   C''''''''''''''C                                                           C''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXXXXXXXXXXX                                                             XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CCCCCCCCCCCCCC                                                             CC
 --------------------------------""-"---""-----------+-A+-1++-=====MM-MM-M-------Z-MMMM-=====+====+++++===++++=+"-""==+"+++++++X  ==+
+................................++.+...++...........CC      CCCCCC  C  C CCCCCCC C    CCCCCCCCCCCCCCCCCCCCCCCCC+.++CCC+CCCCCCC    CC
+''''''''''''''''''''''''''''''''CC'C'''CC'''''''''''                                                           C'CC   C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X XXX  XXXXXXXXXXX                                                            X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CCC  CCCCCCCCCCC                                                            C
 ---------------------------------------=XM"---------=ZI=-1++Z=+=M-MMM---MM-M-----MM-MM-=M==MM=====++++=+=+++==+"--"=+++++++"+=X=I1==
+.......................................C  +.........C        CCC C   CCC  C CCCCC  C  CC CC  CCCCCCCCCCCCCCCCCC+..+CCCCCCCC+CC    CC
+'''''''''''''''''''''''''''''''''''''''   C'''''''''                                                           C''C        C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXXXX                                                            XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCCCC                                                            CC
 ----------------"--------"---------"---+AIZ"--------=XI+---1X=+M--MMM--MMM---M-M----M==MM=MMMM=+=+++++++=MM=+=+""-"=+++++++++=A  Z==
+................+........+.........+...C   +........C        CC CC   CC   CCC C CCCC CC  C    CCCCCCCCCCC  CCCC++.+CCCCCCCCCCC    CC
+''''''''''''''''C''''''''C'''''''''C'''    C''''''''                                                           CC'C
+XXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXXX XXX     XXXXXXXX                                                             X
+CCCCCCCCCCCCCCCC CCCCCCCC CCCCCCCCC CCC     CCCCCCCC                                                             C
 ---------------------Z------------------=="--------"+Z=+1 -1A+=M-X--MM-MMMMMMMMMMMMMM===MM===M==+++++++++++==M+"--"++++++=++==Z   =+
+....................C ..................CC+........+C        CC C CC  C              CCC  CCC CCCCCCCCCCCCCCC C+..+CCCCCCCCCCC    CC
+''''''''''''''''''''  ''''''''''''''''''  C''''''''C                                                           C''C
+XXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXX   XXXXXXXX                                                             XX
+CCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCC   CCCCCCCC                                                             CC
 --------------------=X"--"--------------=M"---------"Z=+- -1I==M-----MMMMMMMMMMMMMMMMMM=MM======+++++++=+++===="--"++++++=++==Z1+A=+
+....................C +..+..............C +.........+        CC CCCCC                  C  CCCCCCCCCCCCCCCCCCCCC+..+CCCCCCCCCCC    CC
+''''''''''''''''''''  C''C''''''''''''''  C'''''''''C                                                          C''C
+XXXXXXXXXXXXXXXXXXXX   XX XXXXXXXXXXXXXX   XXXXXXXXX                                                            XX
+CCCCCCCCCCCCCCCCCCCC   CC CCCCCCCCCCCCCC   CCCCCCCCC                                                            CC
 ----------------------------------------"+----------"-I1- --=M==-----MMMMMMMMMM-MMMM=M==MM==++=+=+++=+=++++===="--"++++++=+==+=M=+++
+........................................+C..........+C        CCCCCCC          C    C CC  CCCCCCCCCCCCCCCCCCCCC+..+CCCCCCCCCCCC CCCC
+''''''''''''''''''''''''''''''''''''''''C ''''''''''C                                                          C''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXX                                                            XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCC                                                            CC
 --"---------------"----------------------"----------"MX1-  -+-=MM----MMM--MMMMMMM---MMMM========M=++++++"++++=+"--"+==+++++=======++
+..+...............+......................+..........+        CC  CCCC   CC       CCC    CCCCCCCC CCCCCCC+CCCCCC+..+CCCCCCCCCCCCCCCCC
+''C'''''''''''''''C''''''''''''''''''''''C''''''''''C                                                   C      C''C
+XX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX                                                            XX
+CC CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC                                                            CC
 -------------------------------------------------++--+X=    1Z=MMM--M-==---MMMM==MMMMMMMM========+++++++""++==+---"+==++++++++==--++
+.................................................CC..C        C   CC CCCCCC    CC        CCCCCCCCCCCCCCC++CCCCC...+CCCCCCCCCCCC   CC
+'''''''''''''''''''''''''''''''''''''''''''''''''  ''                                                   CC     '''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XX                                                          XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CC                                                          CCC
 -------------------"----"------------------------+M""+-I-   1IM=MM--MM=MMMMM=MZ-MMMMM=MMM=M=++===++++"+""""++=+-"-"+==="++++++M Z =+
+...................+....+........................C ++CC        C  CC  C     C  C     C   C CCCCCCCCCC+C++++CCCC.+.+CCCC+CCCCCC    CC
+'''''''''''''''''''C''''C''''''''''''''''''''''''  CC                                                C CCCC    'C'C    C
+XXXXXXXXXXXXXXXXXXX XXXX XXXXXXXXXXXXXXXXXXXXXXXX                                                              X X
+CCCCCCCCCCCCCCCCCCC CCCC CCCCCCCCCCCCCCCCCCCCCCCC                                                              C C
 -""----------------"-----------------------------"=""+MA1   -+-MMM-MM==MMMMM=MMMMM====M===M=+++++++++"+""""++=+---"+=++""+++++==- =+
+.++................+.............................+C++C        C   C  CC     C     CCCC CCC CCCCCCCCCC+C++++CCCC...+CCCC++CCCCCC   CC
+'CC''''''''''''''''C'''''''''''''''''''''''''''''C CC                                                C CCCC    '''C    CC
+X  XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                              XXX
+C  CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                              CCC
 "------------------"-"--------"------------------"""""MA1    1ZMM=MM==M=MM-MM=MMM=M====M====++==+"++++""+++++==""-"+++++++++++M  IM+
++..................+.+........+..................+++++           C  CC C  C  C   C CCCC CCCCCCCCC+CCCC++CCCCCCC++.+CCCCCCCCCCC     C
+C''''''''''''''''''C'C''''''''C''''''''''''''''''CCCCC                                           C    CC       CC'C
+ XXXXXXXXXXXXXXXXXX X XXXXXXXX XXXXXXXXXXXXXXXXXX                                                                X
+ CCCCCCCCCCCCCCCCCC C CCCCCCCC CCCCCCCCCCCCCCCCCC                                                                C
 "-""----------------------------------------------"""+-A+    -I=MMMMMM===M--MMMMMMM===MMM=======+++++++""++===="--"+=+++++++++=+X+++
++.++..............................................+++CC        C      CCC CC       CCC   CCCCCCCCCCCCCC++CCCCCC+..+CCCCCCCCCCCC  CCC
+C'CC''''''''''''''''''''''''''''''''''''''''''''''CCC                                                  CC      C''C
+ X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                                              XX
+ C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                                              CC
 """""------------"----------"--------------------"--"=ZA+-    1-MMMMMMM==MMMMMMMMMMM+=MM========+++=++++++====+"--"++++++++++++=+++"
++++++............+..........+....................+..+C         C       CC           CC  CCCCCCCCCCCCCCCCCCCCCCC+..+CCCCCCCCCCCCCCCC+
+CCCCC''''''''''''C''''''''''C''''''''''''''''''''C''C                                                          C''C                C
+     XXXXXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XX                                                            XX
+     CCCCCCCCCCCC CCCCCCCCCC CCCCCCCCCCCCCCCCCCCC CC                                                            CC
 "+""-----------"""-------------------------------"--"MXAI1    -XM=MMMM=M==MMMMMMMMMM==MM===M=====++=++"++++===="-""++++++++++++===++
++C++...........+++...............................+..+            C    C CC          CC  CCC CCCCCCCCCC+CCCCCCCC+.++CCCCCCCCCCCCCCCCC
+C CC'''''''''''CCC'''''''''''''''''''''''''''''''C''C                                                 C        C'CC
+    XXXXXXXXXXX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX                                                            X
+    CCCCCCCCCCC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC                                                            C
 =M=+""-----"--"""--------"+"---------"-------------""MZA=1-   -AM=MMM==MM==MM==MMMMMMM-M=MM=====+++++++"=++=MM="---+++=++=++++=   Z+
+C CC++.....+..+++........+C+.........+.............++            C   CC  CC  CC       C C  CCCCCCCCCCCC+CCCC  C+...CCCCCCCCCCCC    C
+    CC'''''C''CCC''''''''C C'''''''''C'''''''''''''CC                                                  C       C'''
+      XXXXX XX   XXXXXXXX   XXXXXXXXX XXXXXXXXXXXXX                                                             XXX
+      CCCCC CC   CCCCCCCC   CCCCCCCCC CCCCCCCCCCCCC                                                             CCC
 MM=+"-"-------""--------"""+"-----------------------"=ZA=+1- -1AM==M===MMMMMM===M=MMMMMM=MM==M=+=+++++++++=+==="--"++++=++++++= 1IM=
+  CC+.+.......++........+++C+.......................+C           CC CCC      CCC C      C  CC CCCCCCCCCCCCCCCCC+..+CCCCCCCCCCCC    C
+    C'C'''''''CC''''''''CCC C'''''''''''''''''''''''C                                                          C''C
+     X XXXXXXX  XXXXXXXX     XXXXXXXXXXXXXXXXXXXXXXX                                                            XX
+     C CCCCCCC  CCCCCCCC     CCCCCCCCCCCCCCCCCCCCCCC                                                            CC
 --MMM""-------""--"""------"+"---------------------""=XA=+----1A=====+==M=MMM=====M====MMMM====++++++""+++=+==+"--"+=++++=++=++= 1-=
+CC   ++.......++..+++......+C+.....................++C          CCCCCCCC C   CCCCC CCCC    CCCCCCCCCC++CCCCCCCC+..+CCCCCCCCCCCC   CC
+     CC'''''''CC''CCC''''''C C'''''''''''''''''''''CC                                                CC        C''C
+       XXXXXXX  XX   XXXXXX   XXXXXXXXXXXXXXXXXXXXX                                                             XX
+       CCCCCCC  CC   CCCCCC   CCCCCCCCCCCCCCCCCCCCC                                                             CC
 ZXZZ-++"-""-"----"-""---------"-----------------"--"+MZA=1----+AM====-M=M=M======M=========M=+++++++"""++++++=+"--"M==++++++=+++ 1-+
+    CCC+.++.+....+.++.........+.................+..+C            CCCCC C C CCCCCC CCCCCCCCC CCCCCCCC+++CCCCCCCC+..+ CCCCCCCCCCC   CC
+       C'CC'C''''C'CC'''''''''C'''''''''''''''''C''C                                                CCC        C''C
+        X  X XXXX X  XXXXXXXXX XXXXXXXXXXXXXXXXX XX                                                             XX
+        C  C CCCC C  CCCCCCCCC CCCCCCCCCCCCCCCCC CC                                                             CC
 XAXXZ-M"""-"--"----"-"""-------""--------------"""-"=-XA=1---1+XMMMM=-MM===MMM=MM=MM=======M==+=++++""+++++=+++"--"++=+++==+++=1  X+
+     C +++.+..+....+.+++.......++..............+++.+CC              CC  CCC   C  C  CCCCCCC CCCCCCCC++CCCCCCCCC+..+CCCCCCCCCCCC    C
+       CCC'C''C''''C'CCC'''''''CC''''''''''''''CCC'C                                                CC         C''C
+          X XX XXXX X   XXXXXXX  XXXXXXXXXXXXXX   X                                                             XX
+          C CC CCCC C   CCCCCCC  CCCCCCCCCCCCCC   C                                                             CC
 AIAAAZ=--""-"----"-"""-"----------------------"---"+M-XI+1---1+AMMMMMMM=====M+=====MM=MM======M=++++++++++=++++"---"++=++++++++=+ZZ+
+      C..++.+....+.+++.+......................+...+C C                 CCCCC CCCCCC  C  CCCCCC CCCCCCCCCCCCCCCC+...+CCCCCCCCCCC    C
+       ''CC'C''''C'CCC'C''''''''''''''''''''''C'''C                                                            C'''C
+       XX  X XXXX X   X XXXXXXXXXXXXXXXXXXXXXX XXX                                                              XXX
+       CC  C CCCC C   C CCCCCCCCCCCCCCCCCCCCCC CCC                                                              CCC
 IIAXZ-"""=M+"----"-++"""--------------------------"+MZA=+1---1+AMM==MM=============MMM--M=======++++++++++++==="-"""+++++++"++++++++
+     C+++C C+....+.CC+++..........................+C              CC  CCCCCCCCCCCCC   CC CCCCCCCCCCCCCCCCCCCCCC+.+++CCCCCCC+CCCCCCCC
+      CCC   C''''C'  CCC''''''''''''''''''''''''''C                                                            C'CCC       C
+             XXXX X     XXXXXXXXXXXXXXXXXXXXXXXXXX                                                              X
+             CCCC C     CCCCCCCCCCCCCCCCCCCCCCCCCC                                                              C
 IAAXM+"M-Z-="-----"-+"="+------------------------"++MZA+1-----+AM====M====MMMMMM=====--M======+=++++++++++++==="-""+++++++++++++=M=+
+     C+ C CC+.....+CC+C+C........................+CC             CCCC CCCC      CCCCCCC CCCCCCCCCCCCCCCCCCCCCCC+.++CCCCCCCCCCCCCC CC
+      C     C'''''C  C C ''''''''''''''''''''''''C                                                             C'CC
+             XXXXX       XXXXXXXXXXXXXXXXXXXXXXXX                                                               X
+             CCCCC       CCCCCCCCCCCCCCCCCCCCCCCC                                                               C
 IIZ-++-AXXZM"--"----"-"+=""----------------------""+-XI=+-----=IM===MM=M=MM=MMMMMM=M==MM-==M==M=+++"+++====+=M="-""+==+++""++++A  X+
+   CCCC     +..+....+.+CC++......................++CC            CCC  C C  C      C CC  CCC CC CCCC+CCCCCCCCC C+.++CCCCCC++CCCC    C
+            C''C''''C'C  CC''''''''''''''''''''''CC                                                C           C'CC      CC
+             XX XXXX X     XXXXXXXXXXXXXXXXXXXXXX                                                               X
+             CC CCCC C     CCCCCCCCCCCCCCCCCCCCCC                                                               C
 AXMMXZI=IX-+-----"-"-"-""------------------------"+=-XI=1----1+=M====MMMMMM=M==MMMMM====-====+==+""""""==+++==="--"+==+++++++++X  Z+
+          CC.....+.+.+.++........................+CCC            CCCC      C CC     CCCCCCCCCCCCC++++++CCCCCCCC+..+CCCCCCCCCCCC    C
+            '''''C'C'C'CC''''''''''''''''''''''''C                                               CCCCCC        C''C
+            XXXXX X X X  XXXXXXXXXXXXXXXXXXXXXXXX                                                               XX
+            CCCCC C C C  CCCCCCCCCCCCCCCCCCCCCCCC                                                               CC
 ZZZI==+=IX=----""++"---""------------------------"+=ZAI+11---+++-==MMM=====M====MMMM====MMM==+===+""""+==++++=="--"+=+++++=+++=X  Z+
+          C....++CC+...++........................+CC            CCC   CCCCC CCCC    CCCC   CCCCCCC++++CCCCCCCCC+..+CCCCCCCCCCCC    C
+           ''''CC  C'''CC''''''''''''''''''''''''C                                                CCCC         C''C
+           XXXX     XXX  XXXXXXXXXXXXXXXXXXXXXXXX                                                               XX
+           CCCC     CCC  CCCCCCCCCCCCCCCCCCCCCCCC                                                               CC
 X==++++=AZ+"""""""""------------------------"----"+=-AI+1---1+=+A==MM==========MMM==MM===========+"++++++++++=="---+=++++++++++Z  X+
+          C+++++++++........................+....+CCC            CC  CCCCCCCCCC   CC  CCCCCCCCCCCC+CCCCCCCCCCCC+...CCCCCCCCCCCC    C
+           CCCCCCCCC''''''''''''''''''''''''C''''C                                                C            C'''
+                    XXXXXXXXXXXXXXXXXXXXXXXX XXXX                                                               XXX
+                    CCCCCCCCCCCCCCCCCCCCCCCC CCCC                                                               CCC
 I++11=+=XM++"-"------------------------"-"----"-""+MZI+1----1==+=MM=M==+++====M-MMM=MM===++====++++"+++++++++=="--"+=M+""""+""++AZ-=
+          CC+.+........................+.+....+.++C                C CCCCCCCCC C   C  CCCCCCCCCCCCC+CCCCCCCCCCC+..+CC C++++C++C    C
+            C'C''''''''''''''''''''''''C'C''''C'CC                                                 C           C''C    CCCC CC
+             X XXXXXXXXXXXXXXXXXXXXXXXX X XXXX X                                                                XX
+             C CCCCCCCCCCCCCCCCCCCCCCCC C CCCC C                                                                CC
 =1+11+=IZ="---------"-------------------------"-""+MXI1--   1++++Z=+M===MMMM==M--M======M=++++++""+""++++++++++"---++++==++"+++X  X"
+         C+.........+.........................+.++C               CC CCC    CC CC CCCCCC CCCCCCC++C++CCCCCCCCCC+...CCCCCCCC+CCC    +
+          C'''''''''C'''''''''''''''''''''''''C'CC                                              CC CC          C'''        C       C
+           XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX X                                                                XXX
+           CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC C                                                                CCC
 +++111=-+----=+-----""--------------------------""=-XI+-    1+===IM=====MM====MM--M===MMMMM=+++++""""++++++++++"---+=++""++"++=Z -Z+
+       CC....CC.....++..........................++CC               CCCCC  CCCC  CC CCC     CCCCCC++++CCCCCCCCCC+...CCCC++CC+CCC    C
+         ''''  '''''CC''''''''''''''''''''''''''CC                                               CCCC          C'''    CC  C
+         XXXX  XXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXX                                                                XXX
+         CCCC  CCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCC                                                                CCC
 =11111X"----"XA=--"-"""----------------------"--""=MZI=1-  -1====+AM====M=====MMMMM====MM-MM=+=++"""""+"+++++++"---===+++""""++-1 I+
+       +....+  C..+.+++......................+..++C                 CCCC CCCCC     CCCC  C  CCCCC+++++C+CCCCCCC+...CCCCCC++++CCC   C
+       C''''C   ''C'CCC''''''''''''''''''''''C''CC                                               CCCCC C       C'''      CCCC
+        XXXX    XX X   XXXXXXXXXXXXXXXXXXXXXX XX                                                                XXX
+        CCCC    CC C   CCCCCCCCCCCCCCCCCCCCCC CC                                                                CCC
 +1---==-----"A=Z-"+"+==""""-----------"-------""""=M-A=1--- -==+=++IM=++===++==MMMM===M==M=MMMM="+"++++++++=+++"---+M=+++++"+++Z A-+
+      C.....+   .+C+CCC++++...........+.......++++C C                CCCCCCCCCC    CCC CC C    C+C+CCCCCCCCCCCC+...C CCCCCC+CCC   CC
+       '''''C   'C C   CCCC'''''''''''C'''''''CCCC                                              C C            C'''        C
+       XXXXX    X          XXXXXXXXXXX XXXXXXX                                                                  XXX
+       CCCCC    C          CCCCCCCCCCC CCCCCCC                                                                  CCC
 +1-- ="-----+AIM"-+"++++""-----------"------"""-"++=MZI=1----+++++==AM=++=++++==-MM===M=====MM==+++++++=+++++++"---+=++++""+"++X-1=+
+      +.....C   +.C+CCCC++...........+......+++.+CCC                  CCCCCCCCCCC  CCC CCCCC  CCCCCCCCCCCCCCCCC+...CCCCCC++C+CC    C
+      C'''''    C' C    CC'''''''''''C''''''CCC'C                                                              C'''      CC C
+       XXXXX     X        XXXXXXXXXXX XXXXXX   X                                                                XXX
+       CCCCC     C        CCCCCCCCCCC CCCCCC   C                                                                CCC
 =1   ++""""+M=+---+++=++"------------""----""""""++=M-XA=111--++++++=IZ=+===========MMM===+=MM======++++==+++++"--""+++"+""++++Z -I+
+      C++++C CC...CCCCCC+............++....++++++CCC C                 CCCCCCCCCCCCC   CCCCC  CCCCCCCCCCCCCCCCC+..++CCC+C++CCCC    C
+       CCCC    '''      C''''''''''''CC''''CCCCCC                                                              C''CC   C CC
+               XXX       XXXXXXXXXXXX  XXXX                                                                     XX
+               CCC       CCCCCCCCCCCC  CCCC                                                                     CC
 I+-  -XZM++""---"=ZM==+"-----"""""---"------"""""+==MM-ZAI=+--1++++++==A=============M====+===M=====+=+++===+=="---"++"+"+++"""=I A+
+         CC++...+C  CCC+.....+++++...+......+++++CCC  C                 CCCCCCCCCCCCC CCCCCCCC CCCCCCCCCCCCCCCC+...+CC+C+CCC+++C   C
+           CC'''C      C'''''CCCCC'''C''''''CCCCC                                                              C'''C  C C   CCC
+             XXX        XXXXX     XXX XXXXXX                                                                    XXX
+             CCC        CCCCC     CCC CCCCCC                                                                    CCC
 I=-   =IIZZM+M"+-XA-++"-----""""""---Z"------"-"+"=MM--ZZXAI+--+1+1++=+=Z==+MMM=M==M==M+===+==========+=+======+-"-++=+""+++"""-  ++
+            C +CC  CCC+.....++++++... +......+.+C+C  CC                  CCC   C CC CC CCCCCCCCCCCCCCCCCCCCCCCCC.+.CCCC++CCC+++C   C
+              C       C'''''CCCCCC''' C''''''C'C C                                                              'C'    CC   CCC
+                       XXXXX      XXX  XXXXXX X                                                                 X X
+                       CCCCC      CCC  CCCCCC C                                                                 C C
 I=1   -=IAAAAIAAAIIX"------"=++++"""--""""--""""+==M-ZZZ---ZAI+1111+++11=Z++=========M====++++=+=+++++++=+=++=="---"++"++""""""++"""
+                    +......+CCCCC+++..++++..++++CCC C   CCC               CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCC+...+CC+CC++++++CC+++
+                    C''''''C     CCC''CCCC''CCCC                                                               C'''C  C  CCCCCC  CCC
+                     XXXXXX         XX    XX                                                                    XXX
+                     CCCCCC         CC    CC                                                                    CCC
 AI1    1===I=======I"-----"+++++""++"""""--"-"""+=M-XXAXZ-MMZZI+111++++++IM+============++++"+==+""+"++++=++++="---"=++"++""+M+++"""
+                    +.....+CCCCC++CC+++++..+.+++CC C     C                 CCCCCCCCCCCCCCCCC+CCCC++C+CCCCCCCCCC+...+CCC+CC++C CCC+++
+                    C'''''C     CC  CCCCC''C'CCC                                            C    CC C          C'''C   C  CC     CCC
+                     XXXXX               XX X                                                                   XXX
+                     CCCCC               CC C                                                                   CCC
 AI=-   -++++=++++1+++----"+++++""++=++""---"-""""=M-XAAX-MM=M-XI++1111111+A-==++=++====="++""+++"""""""++++"++="---"++""+""""=++++""
+                    C....+CCCCC++CCCCC++...+.++++C C    C  C C             CCCCCCCCCCCCC+CC++CCC+++++++CCCC+CCC+...+CC++C++++CCCCC++
+                     ''''C     CC     CC'''C'CCCC                                       C  CC   CCCCCCC    C   C'''C  CC CCCC     CC
+                     XXXX               XXX X                                                                   XXX
+                     CCCC               CCC C                                                                   CCC
 IA=1    -+1-1111---1M---""""==+===+=M=++"-""""""++M-ZXXZ-MMMMM-XI=+1111111+IZ=+==++=+++++"+++++"+"""+"+++-""=+=+""-"+=++++""""+++"""
+                     ...++++CCCCCCCC CCC+.++++++CC C    C     C              CCCCCCCCCCCC+CCCCC+C+++C+CCCC++CCCC++.+CCCCCC++++CCC+++
+                     '''CCCC            C'CCCCCC                                         C     C CCC C    CC    CC'C      CCCC   CCC
+                     XXX                 X                                                                        X
+                     CCC                 C                                                                        C
 AAI1    -+111-------Z---"""+=+===++====+"""""++++++MM-XX-MMMMM-ZXA==++1+11++IM+++++=++++++++"""""""+""++++++++=+"--"+++++""""++++"""
+                     ...+++CCCCCCCCCCCCC+++++CCCCCC  C  C     C               CCCCCCCCCCCCCC+++++++C++CCCCCCCCCC+..+CCCCC++++CCCC+++
+                     '''CCC             CCCCC                                               CCCCCCC CC          C''C     CCCC    CCC
+                     XXX                                                                                         XX
+                     CCC                                                                                         CC
 AAI=1    1111- -----I--"--"=++++===M=====+"""++++++++M--Z--MMMM-ZXAII++++111+A=++++++++++++++++""""+""""+++++==+---"++"++""""+++""""
+                     ..+..+CCCCCCCC CCCCCC+++CCCCCCCC CC CC    C              CCCCCCCCCCCCCCCCC++++C++++CCCCCCCC...+CC+CC++++CCC++++
+                     ''C''C               CCC                                                  CCCC CCCC        '''C  C  CCCC   CCCC
+                     XX XX                                                                                      XXX
+                     CC CC                                                                                      CCC
 AAI=+    -11-- -----=""++""=+++"=MMM======+""+=====++=MM--MM==M--ZXXAII=+1111=X-+++++++++++++""""++""""++++++==+---"+++++"""++++""""
+                     ++CC++CCCC+C   CCCCCCC++CCCCCCCCC  CC  CC CC              CCCCCCCCCCCCCC++++CC++++CCCCCCCCC...+CCCCC+++CCCC++++
+                     CC  CC    C           CC                                                CCCC  CCCC         '''C     CCC    CCCC
+                                                                                                                XXX
+                                                                                                                CCC
 XXA==1    1---  ----+++++++M==+++-M====M==+=+++=====++==MMMMMMMM-ZZZXAII=+111+=A="""""++""++"""""++"+++++++=+==+"--+===++""""+++""""
+                     CCCCCC CCCCCC CCCC CCCCCCCCCCCCCCCC        C               C+++++CC++CC+++++CC+CCCCCCCCCCCC+..CCCCCC++++CCC++++
+                                                                                 CCCCC  CC  CCCCC  C            C''      CCCC   CCCC
+                                                                                                                 XX
+                                                                                                                 CC
 ZZXI=+-    ---   -- ++"++++"=++++=====MM==+==+=+====++"+==MM=MMM----ZXAI=+11+++=A=+++++"+"+++""""""+++++++=++==+"--"+++++"""++++""""
+                     C+CCCC+CCCCCCCCCC  CCCCCCCCCCCCCC+CCC  C   CCCC             CCCCCC+C+CCC++++++CCCCCCCCCCCCC+..+CCCCC+++CCCC++++
+                      C    C                          C                                C C   CCCCCC             C''C     CCC    CCCC
+                                                                                                                 XX
+                                                                                                                 CC
 -ZXI=+-    ----- -- =+"++++""++++====MM=+++====++===+""+====MMMM-----ZXAI=++++++=X-+++++""++++"""+++++++"++==MM="--"+++++++++"""+++"
+C                    C+CCCC++CCCCCCCC  CCCCCCCCCCCCCC++CCCCC    CCCCC             CCCCCC++CCCC+++CCCCCCC+CCCC  C+..+CCCCCCCCC+++CCC+
+                      C    CC                        CC                                 CC    CCC       C       C''C         CCC   C
+                                                                                                                 XX
+                                                                                                                 CC
 -ZXII+1     -1--  - I""+++""""=+==M==M==++=M=M==+++++"+""+====MM---M-ZZXAI==++1++=AM+"++""+"++"""++++++""+++==M=--""+++++++++"""""+"
+C                    ++CCC++++CCCC CC CCCCC C CCCCCCC+C++CCCCC  CCC C               C+CC++C+CC+++CCCCCC++CCCCC C..++CCCCCCCCC+++++C+
+                     CC   CCCC                       C CC                            C  CC C  CCC      CC       ''CC         CCCCC C
+                                                                                                                XX
+                                                                                                                CC
 ZZXAI=1-    -1---  -X"-++++""""+=MM=====+===MM==M-M++"+""++===MM--M-M-ZXXAI=++111+1A=++++++""""+"""+"+++++++===+"--"++=+++++++"""""+
+                     +.CCCC++++CC  CCCCCCCCC  CC C CC+C++CCCCC  CC C C              CCCCCCC++++C+++C+CCCCCCCCCCC+..+CCCCCCCCCC+++++C
+                     C'    CCCC                      C CC                                  CCCC CCC C           C''C          CCCCC
+                      X                                                                                          XX
+                      C                                                                                          CC
 ZZXAAA=+1----1------M-""++""""++=M====+=========MMM=++""""+++==M-MMMMM-ZXAII==+11++=X=++++""""""++"+"""+"++===++---"++++++++++"""""+
+                     .++CC++++CCC CCCCCCCCCCCCCC   CCC++++CCCCC C     C              CCCCC++++++CC+C+++C+CCCCCCC...+CCCCCCCCCC+++++C
+                     'CC  CCCC                        CCCC                                CCCCCC  C CCC C       '''C          CCCCC
+                     X                                                                                          XXX
+                     C                                                                                          CCC
 ZZZXZXAI=+=+1-1----1+-""++=+++++=M==============MM===+"+"""+++=MMMMMM--ZZAAAI==+1++==A=""++"""""++++++"""++=M==+""-"+==++++++"""""++
+                    C.++CCCCCCCCC CCCCCCCCCCCCCC  CCCC+C+++CCCC      CC               C++CC+++++CCCCCC+++CCC CCC++.+CCCCCCCCC+++++CC
+                     'CC                              C CCC                            CC  CCCCC      CCC       CC'C         CCCCC
+                     X                                                                                            X
+                     C                                                                                            C
 -++==-ZAAII=+11----I"---+==+"+++=====M=====M=+++====M+++""""++==MM=MMMM-ZXAAII==+11+++I=+""""""""+=+++""++=====+"--"===++++++""+++++
+CCCCCC              +...CCCC+CCCCCCCC CCCCC CCCCCCCC CCC++++CCCC  C    C               CC++++++++CCCCC++CCCCCCCC+..+CCCCCCCCC++CCCCC
+                    C'''    C                           CCCC                             CCCCCCCC     CC        C''C         CC
+                     XXX                                                                                         XX
+                     CCC                                                                                         CC
 ++=+M=ZXAA+-11-----Z"---"+=++=+=========++=======M===+==+"+"++++MMM==MM-ZXAAAAI==+1-1+=A-++""""""++++++++======+-"-"+=+++++=+""+++++
+CCCC C              +...+CCCCCCCCCCCCCCCCCCCCCCCC CCCCCCC+C+CCCC   CC  C                CCC++++++CCCCCCCCCCCCCCC.+.+CCCCCCCCC++CCCCC
+                    C'''C                                C C                               CCCCCC               'C'C         CC
+                     XXX                                                                                        X X
+                     CCC                                                                                        C C
 MMMM--XI1----11-111-"-"-"+===++=====++++++==M=====+======+""""++==MM=MMM-ZZZXAII=++111+=IM+""""""+++++++======M+---"+=++++=++"""""++
+    CC             C+.+.+CCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC++++CCCC  C   C                 C++++++CCCCCCCCCCCCC C...+CCCCCCCCC+++++CC
+                    C'C'C                                 CCCC                             CCCCCC               '''C         CCCCC
+                     X X                                                                                        XXX
+                     C C                                                                                        CCC
 ZZZZAXI1-  ----111+M""++"+==+++=====+++++===M=====+====M===""""+===M=MMM--ZZXXAI=++1111++I-=""""+++++++++=+==M=+---"+++++===+"""+""+
+                    ++CC+CCCCCCCCCCCCCCCCCCC CCCCCCCCCC CCC++++CCCC C   CC                CC++++CCCCCCCCCCCCC CC...+CCCCCCCCC+++C++C
+                    CC  C                                  CCCC                             CCCC                '''C         CCC CC
+                                                                                                                XXX
+                                                                                                                CCC
 AAAA=I+1-  ---1111=Z=+==++==++++==+==++++ZM==========+=====+"""+++=====MM-ZZZXAAI==+111++=IX+"""++""+++++++====+---""++++===+"+"""++
+                    CCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCC+++CCCCCCCC  C                  C+++CC++CCCCCCCCCCCC...++CCCCCCCC+C+++CC
+                                                            CCC                              CCC  CC            '''CC        C CCC
+                                                                                                                XXX
+                                                                                                                CCC
 AI==11-- -    --11+=I-M+==++++++=====+"+IZMMM====+===+=====++"""++=====MM--ZZXXIII=++1111+==X+++++==++++++==MM=+"--"+=+++=++++++++++
+                     C CCCCCCCCCCCCCCC+C     CCCCCCCCCCCCCCCC+++CCCCCCC  CC                  CCCCCCCCCCCCCCC  CC+..+CCCCCCCCCCCCCCCC
+                                      C                      CCC                                                C''C
+                                                                                                                 XX
+                                                                                                                 CC
 I=++--     - --1+++++IAZM==++++=====++"+M=M===MMM====++=====+"""+++++===MM-A-AXXAI==++1111++=Z=+++++"++++=+=+==+"--"+=++==++++=+++++
+                         CCCCCCCCCCCCC+C C CCC   CCCCCCCCCCCC+++CCCCCCCC  C                   CCCCCC+CCCCCCCCCCC+..+CCCCCCCCCCCCCCCC
+                                      C                      CCC                                    C           C''C
+                                                                                                                 XX
+                                                                                                                 CC
 =+1-     --- --1=+11+++IXZM++++===+++++===MM==M=M==++==MMM==++"""++++===MMM-- -XAII=++1111+++=AM++"+"++++=+++==+"-""==++==+++"++++++
+                           CCCCCCCCCCCCCCC  CC C CCCCCC   CCCC+++CCCCCCC   C                    CC+C+CCCCCCCCCCC+.++CCCCCCCCC+CCCCCC
+                                                              CCC                                 C C           C'CC         C
+                                                                                                                 X
+                                                                                                                 C
 +11--  --1+1--11+1+1++1==IAM=+++=+=++++===M==M=========MM==++=+""++++=====M-Z  =AAAI==++111+++=IM+"++"++++++++=="-""==++==+""""""+""
+                            CCCCCCCCCCCCCC CC CCCCCCCCC  CCCCCC++CCCCCCCCC C                     C+CC+CCCCCCCCCC+.++CCCCCCC++++++C++
+                                                               CC                                 C  C          C'CC       CCCCCC CC
+                                                                                                                 X
+                                                                                                                 C
 +++++11-11=+--1+++111+1++++IA-+++===++===M========+=++=MM+=++=+"""++++====MM-= AXAAIII++++++++=+AM+++"++++"+++=="--+=="+=++""""+++""
+                             CCCCCCCCCCCC CCCCCCCCCCCCC  CCCCCC+++CCCCCCCC  C                     CCC+CCCC+CCCCC+..CCC+CCCC++++CCC++
+                                                               CCC                                   C    C     C''   C    CCCC   CC
+                                                                                                                 XX
+                                                                                                                 CC
 IIXAAAIIAAXA++1+11111+11++++==X-=++++==M===+=====+++++=MM=++++++"""+"++++==MMA XXAAIII===+++++++=I-+++"+++++++++"--"=="+++""""++==+"
+                               CCCCCCCC CCCCCCCCCCCCCCC  CCCCCCC+++C+CCCCCC                       CCCC+CCCCCCCCC+..+CC+CCC++++CCCCC+
+                                                                CCC C                                 C         C''C  C   CCCC     C
+                                                                                                                 XX
+                                                                                                                 CC
 XXZZXXIX=-ZAI+++11111111++1++==AXM=+++=====+=======+++=M=+++=++++"""+++++===M-IZXXXAIIII=++++++++=I-+++"+=++++++"--"+=++++""+""+==++
+        CC                        CCCCCCCCCCCCCCCCCCCCC CCCCCCCCC+++CCCCCCCC C                     CCCC+CCCCCCCC+..+CCCCCC++C++CCCCC
+                                                                 CCC                                   C        C''C      CC CC
+                                                                                                                 XX
+                                                                                                                 CC
 AIII111XZZ=+=11+11+1111++11+++==IAX-++==========M==+++===++++====+"""++++=+==M-ZZXXAIIII====++++++=I-++""+"""+++"--"+=+++""""""+=+++
+                                   CCCCCCCCCCCCC CCCCCCCCCCCCCCCCC+++CCCCCCCC C                     CCC++C+++CCC+..+CCCCC++++++CCCCC
+                                                                  CCC                                  CC CCC   C''C     CCCCCC
+                                                                                                                 XX
+                                                                                                                 CC
 111+XAAI+---1-111111111++11++=+====IZM===========M==+=+M==+==+=+=="""+++++++==--ZXXAAAIII====++++++==Z+""""++==+"--"+=++++""++=+==++
+                                      CCCCCCCCCCC CCCCC CCCCCCCCCC+++CCCCCCCCCCC                      C++++CCCCC+..+CCCCCC++CCCCCCCC
+                                                                  CCC                                  CCCC     C''C      CC
+                                                                                                                 XX
+                                                                                                                 CC
 AAAXII=1- -11+11111111++1+1+++======IA-M=++==++=M========+++===+=M=+"""+"+=+==M--ZZXXAAAIIII===++++++=-"-""+++=+""-"+++++"""+++++=++
+                                      C CCCCCCCC CCCCCCCCCCCCCCCC CC+++C+CCCCC CC                     C+.++CCCCC++.+CCCCC+++CCCCCCCC
+                                                                    CCC C                              C'CC     CC'C     CCC
+                                                                                                        X         X
+                                                                                                        C         C
 +111--    -11=++++1111++++1++++=+====IAAZM++++++=========+++++++=MM+"""+++++==MM-ZZXXAAIAIIII===++++=+=Z"--""+=+"""""+=++"""++++++++
+                                          CCCCCCCCCCCCCCCCCCCCCCC  C+++CCCCCCC  C                       +..++CCC+++++CCCC+++CCCCCCCC
+                                                                    CCC                                 C''CC   CCCCC    CCC
+                                                                                                         XX
+                                                                                                         CC
 --        1++==1+++++++11+++++1++++=====IA-=++=++=======+++++++++===+""+"++++==M--ZZXXAAAAIIIII==++1++==Z"-""+=+"--""=+""""++++++"""
+                                          CCCCCCCCCCCCCCCCCCCCCCCCCCC++C+CCCCCC CC                       +.++CCC+..++CC++++CCCCCC+++
+                                                                     CC C                                C'CC   C''CC  CCCC      CCC
+                                                                                                          X      XX
+                                                                                                          C      CC
 1-  - -  -++I=+++=+1+1+11++++++++++++====IAXZ=+++=++====+++=++++++==+"""+++++==MM-ZZXXXAAAAAII==+++111+==X+"-+=+"--"+++""""+M==++"""
+                                             CCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCC  C                        C+.CCC+..+CCC++++C CCCC+++
+                                                                     CCC                                   C'   C''C   CCCC      CCC
+                                                                                                            X    XX
+                                                                                                            C    CC
 ==+1+1+++===II===+++++++1++++++++++++=++==IIAXM=+==+====+++++==++=+=++""+"++++===M--ZXXAAAAXAAII=++111+==+X+"+=+---"+=+++"++===++"""
+                                               CCCCCCCCCCCCCCCCCCCCCCC++C+CCCCCCC CC                       C+CCC...+CCCCC+CCCCCCC+++
+                                                                      CC C                                  C   '''C     C       CCC
+                                                                                                                XXX
+                                                                                                                CCC
 XXAAXAAII==IAAII====+++++++++++++1++++1-++=IIIAZ=+++++==+++++=====++++""""+"+++===M-ZZXXXAAAAIII=++++1++++=X=+=+"---"++++""+++++""""
+                                                CCCCCCCCCCCCCCCCCCCCCC++++C+CCCCCC C                        CCCC+...+CCCC++CCCCC++++
+                                                                      CCCC C                                    C'''C    CC     CCCC
+                                                                                                                 XXX
+                                                                                                                 CCC
 MMM--ZX=++=AAAIIII====+++++==++++++=++++=+==IIIA-+"+=+==+++++====++++++""+"""++++=M---ZZXXAXAIAIII==1+1++++IA=++"---"+++++"=+++"""""
+   CC                                           CC+CCCCCCCCCCCCCCCCCCCC++C+++CCCCC CCC                       CCC+...+CCCCC+CCCC+++++
+                                                  C                    CC CCC                                   C'''C     C    CCCCC
+                                                                                                                 XXX
+                                                                                                                 CCC
 ZXXAI=+11+XXAXAAAII=====+=====++=++=+=++===IIIIIAM="+===++++++===+++++++"+"""+++===M--IZXXXAAAAAAI==+11+11+=+AM+"---""""+""==+++="""
+                                                  C+CCCCCCCCCCCCCCCCCCCC+C+++CCCCCC CC                         C+...++++C++CCCCCC+++
+                                                   C                    C CCC                                   C'''CCCC CC      CCC
+                                                                                                                 XXX
+                                                                                                                 CCC
 ==++----1IZZXXAAIAAI===I=+==+1===+=========IIIAIIZ=+++==++++++M+====++++"""""""+++==MMZ-ZZXXXXAAIII==+11++1+==A="---"""+""++==+++"""
+                                                  CCCCCCCCCCCC CCCCCCCCC+++++++CCCCC   C                       C+...+++C++CCCCCCC+++
+                                                                        CCCCCCC                                 C'''CCC CC       CCC
+                                                                                                                 XXX
+                                                                                                                 CCC
 --     -1Z--ZXXXXAAAAIIII=====I==============IIIIX=+++==+++++==++===+++=+""""""++===MM--ZZXXXXAAAIII==+1+++++==X+---"""+""+==M=""""+
+          CC                                      CCCCCCCCCCCCCCCCCCCCCCC++++++CCCCC  CC                        C...+++C++CCC C++++C
+                                                                         CCCCCC                                  '''CCC CC     CCCC
+                                                                                                                 XXX
+                                                                                                                 CCC
        -IM---ZZZXXXXAAAIAIIII=II=======+=====I=+IX=+++===++++++++===++===+"""-""++==MMM--ZZZZXXAAAII==++++1+++=IZ"--"""""++==M+"""++
+          CCC                                     CCCCCCCCCCCCCCCCCCCCCCCC+++.++CCCC   CC                        +..+++++CCCC C+++CC
+                                                                          CCC'CC                                 C''CCCCC      CCC
+                                                                             X                                    XX
+                                                                             C                                    CC
   --   1Z+MMM---Z-ZZXXXXAAIIIIIIII=====+========AXM++"====++++++==M==+===+"""""+"+++==M--ZXZXXXAAAII==++++11++===-"--""""+====+"""++
+         C   CCC C                                 CC+CCCCCCCCCCCC CCCCCCC+++++C+CCCCC CC                        C+..++++CCCCCC+++CC
+                                                     C                    CCCCC C                                 C''CCCC      CCC
+                                                                                                                   XX
+                                                                                                                   CC
 ---1-1-I="++=+=MMMM--ZXZXXXAAIIII=I===1+=====1=IXZM+""+=+=++=+++==MM=++===+"""""""++==M---ZZXZXXXAAII==+++1+++1+==-""""-""+==++""+=+
+        C+CCCCC    CC                              C++CCCCCCCCCCCC  CCCCCCC+++++++CCCC CCC                        C++++.++CCCCC++CCC
+         C                                          CC                     CCCCCCC                                 CCCC'CC     CC
+                                                                                                                       X
+                                                                                                                       C
 111+++=-"-""""++=+==M----ZZXXAAAIIII======I==IIAX-=++++==+++===+==MM=++=+==+""""""++===M--ZZZZXXXAAIII====++1+1++=I-"""-""===++++==+
+       C+.++++CCCCCC CCCC                        CCCCCCCCCCCCCCCCC  CCCCCCCC++++++CCCCC CC                         C+++.++CCCCCCCCCC
+        C'CCCC                                                              CCCCCC                                  CCC'CC
+         X                                                                                                             X
+         C                                                                                                             C
 ++=IIIX+-"---"--""""++===M--ZZXAAAIII=====I=IIAAXM=+===M=++++=+==MMM=++++=M="-"""""+===MMM--Z-ZZXXXIIII===++111+++=IM"""-"+===+++==+
+       C.+...+..++++CCCCC CC                      CCCCC CCCCCCCCC   CCCCCC C+.+++++CCCC   CC C                       +++.+CCCCCCCCCC
+        'C'''C''CCCC                                                        C'CCCCC                                  CCC'C
+        X XXX XX                                                             X                                          X
+        C CCC CC                                                             C                                          C
 IIAAXZ---Z-Z-Z-M=M=++""""++=M-ZXXAIIII====IIIIAAZ=+++==M==++=====MZZA=+++==M="-""""++==MMM-M-ZZZXXAAIII===+++++++++=IM""""+===++==++
+      CCC C C C C CCC++++CCC C                   CCCCCC CCCCCCCCC    CCCCCC C+.++++CCCC   C C                         ++++CCCCCCCCCC
+                     CCCC                                                    C'CCCC                                   CCCC
+                                                                              X
+                                                                              C
 ZZZ-ZZZXXXXXXAAXXAAXXXZ-MM--ZZAAAAIIIII=I=IIIIAA-+++=====+++====M=M==+=+=====""""""++===MMMMM-ZZXZAAIIIII==++1+++++==A="+"+==++++++"
+   C                   C  CC                    CCCCCCCCCCCCCCCC C CCCCCCCCCC++++++CCCCC     C                        C+C+CCCCCCCCC+
+                                                                             CCCCCC                                    C C         C
+
+
 -ZXXAAAAAAAAAAAAAIIIIIIIAAIAIIII=I=IIIIIIIIAAIAX=++======++===M========++===M+"""""+"+++==MMMM--ZZXXAAIII=++++1+++===IX=""+==+++++""
+C                                               CCCCCCCCCCCCCC CCCCCCCCCCCCC C+++++C+CCCCC    CC                       C++CCCCCCCC++
+                                                                              CCCCC C                                   CC        CC
+
+
 AIIIIIAIIAIIIIAIIII=II=III=I=I=+===IIIIIIIAAAAAZ="+===+==+++======++=======M==""""""""++=====M---ZZXAAAII==+=+1++++===IZ+""==+++++""
+                                                C+CCCCCCCCCCCCCCCCCCCCCCCCC CC++++++++CCCCCCC CCC                       C++CCCCCCC++
+                                                 C                            CCCCCCCC                                   CC       CC
+
+
 II===IIIIIIIIII==II=I===I======1+++==+IIAXXAAAAM"""+==++++++++=====++=====M=MM="""""""++++====MM-ZZXAAAAII===+++11+++==I-++=++"+=+""
+                                                +++CCCCCCCCCCCCCCCCCCCCCCC C  C+++++++CCCCCCCC  C                       CCCCCC+CCC++
+                                                CCC                            CCCCCCC                                        C   CC
+
+
 =I===I=IIIII==III==========II=IIII=II==AAXXXAXZ+""++++++"""+====+==+++=========+"-""""""+++++=MM--ZXXAAAIIII=+++++1+=+==IM+==+""++""
+                                               C++CCCCCC+++CCCCCCCCCCCCCCCCCCCCC+.++++++CCCCCC  CC                        CCCC++CC++
+                                                CC      CCC                     C'CCCCCC                                      CC  CC
+                                                                                 X
+                                                                                 C
 II=====IIIII==II====+=====II=III=IIIIIAAXXXXX-=""""+++++++++======++============+"""-"""+++=+==MM-ZXXXAAAAI====++++++++=IX=+++""+++"
+                                             CC++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++.+++CCCCCCC  C                        CCCC++CCC+
+                                               CCCC                              CCC'CCC                                      CC   C
+                                                                                    X
+                                                                                    C
 ==I==I=====I==I=========I=I==II=III==IAXXZZZM+""""++"++++"++++====+++===========+"""--"""+++++==M--ZXXXAAAII==++++11++====Z=++""+++"
+                                             C++++CC+CCCC+CCCCCCCCCCCCCCCCCCCCCCC+++..+++CCCCCCC CC                        CCC++CCC+
+                                              CCCC  C    C                       CCC''CCC                                     CC   C
+                                                                                    XX
+                                                                                    CC
 AIIIAIII=I=====I==II======IIIII==IIIIAAXZXZ=+""""""""++=++++==++=++++======+====M+"-""""+"++++===---ZXXAAAII====+++11=++==I-+""+++""
+                                           CC++++++++CCCCCCCCCCCCCCCCCCCCCCCCCCC C+.++++C+CCCCCCCCCC                       CC++CCC++
+                                             CCCCCCCC                             C'CCCC C                                   CC   CC
+                                                                                   X
+                                                                                   C
 IAIIIAAAIIII=I=IIIII===IIIIIIAIIIIAAAXXZ-M=+"++""""++"+=+++======++++===+==+====M="-"""""""+++++MMM-ZZXXXAAII=I==+++++++=IIAM+""""""
+                                        C CC+CC++++CC+CCCCCCCCCCCCCCCCCCCCCCCCCC C+.+++++++CCCCC   C                         C++++++
+                                            C  CCCC  C                            C'CCCCCCC                                   CCCCCC
+                                                                                   X
+                                                                                   C
 III===II==I=IIIAIIII=IIIIIIIIIAIAAAXXXZ-=+++"++++++++++++"++=====+++====++=+=====M+""""""""""+++=MM--ZZXZXAII=I==++++++==I==Z++""+""
+                                       CCCCC+CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCC C++++++++++CCCC  CC                        CC++C++
+                                            C            C                         CCCCCCCCCC                                  CC CC
+
+
 =====I=========IIIIIIIIIAIAAIIXAXXZXZ-M+"""""+++=+++++++"+======+++++++==+++=======""""""""""+++==MM-ZZZZXAAAII=I==+++=====IIM""""""
+                                     C C+++++CCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC++++++++++CCCCC  C                         ++++++
+                                        CCCCC           C                          CCCCCCCCCC                                 CCCCCC
+
+
 =+++===+=+==++=+=====IIIAIIAAAXXXZZ-M=+""""""+++=+++"""++==+=MM=+""+"+++++++++==++=+"--""""""""++=MMMZ--ZXAAAAI====+1++++==IIX="+"""
+                                   C CC++++++CCCCCCC+++CCCCCC  CC++C+CCCCCCCCCCCCCCC+..++++++++CCC    CC                      C+C+++
+                                       CCCCCC       CCC          CC C               C''CCCCCCCC                                C CCC
+                                                                                     XX
+                                                                                     CC
 =+++=++++++++++===+====IIAIAAXXZZ-M++=++"+""""++==++"""+++++=+==++"""""++++++===++++"""-""""""""+==MM----XXXAAII===++++=+=IIIIZ+""""
+                                 C CCCCC+C++++CCCCCC+++CCCCCCCCCCC+++++CCCCCCCCCCCCC+++.++++++++CCC  CCCC                      C++++
+                                        C CCCC      CCC           CCCCC             CCC'CCCCCCCC                                CCCC
+                                                                                       X
+                                                                                       C
 ++++++++++++++++======+===IIAXXZM=+"""+"""=""++++++=+++++++====++++++++"++++===M==+=+"""""""""""+++=M-M-ZXXXAAII=I==++===IIIIIAM""""
+                                 CC+++C+++C++CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC CCCCC+++++++++++CCCC C C                        ++++
+                                   CCC CCC CC                          C             CCCCCCCCCCC                                CCCC
+
+
 +=+1++1++++1++++++++=++=====IIIAZ-+"""""""++"+++++++++++++==++++++++"++""+========+++""-""""""""+++==M--ZZXXAAAII===+==I==I=IIIX=+""
+                                 CC+++++++CC+CCCCCCCCCCCCCCCCCCCCCCC+CC++CCCCCCCCCCCC++.++++++++CCCCC CC                        CC++
+                                   CCCCCCC  C                       C  CC            CC'CCCCCCCC                                  CC
+                                                                                       X
+                                                                                       C
 ++111111111++++++++11++++=++===IIIAXM+"++"+==++"""=+++==++=++++++++"""++++=========+++"""-""""""""++=M--ZXZXAAAAI=I==+=====IIIIAZ+""
+                                     C+CC+CCCCC+++CCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCCCC+++.++++++++CCC CC                         C++
+                                      C  C     CCC                 CCC                CCC'CCCCCCCC                                CC
+                                                                                         X
+                                                                                         C
 ++111111-11111+-++++111++==++=+=====IAM-=+"++M""""++""+++++"++"""+""""""++=+==++===+++""""-""""-"+++=MM-ZZXXXAAAAII==+=====I=IIIA-+"
+                                       CCC+CC ++++CC++CCCCC+CC+++C++++++CCCCCCCCCCCCCC++++.++++.+CCCC  C                         CC+
+                                          C   CCCC  CC     C  CCC CCCCCC              CCCC'CCCC'C                                  C
+                                                                                          X    X
+                                                                                          C    C
 +1---111-11111+1++1111++++++++++=+==I=IIAXM=+++"""""""+++++""+""+++++"""++++=+++==+++"""-----""-"""+=MM--ZZXXAAAAII========IIIIAAX+"
+                                           CCCC+++++++CCCCC++C++CCCCC+++CCCCCCCCCCCCC+++.....++.+++CC  CC                         C+
+                                               CCCCCCC     CC CC     CCC             CCC'''''CC'CCC                                C
+                                                                                        XXXXX  X
+                                                                                        CCCCC  C
 111111111111111+++11111+1+11++++++++=====IIAXX-M="+""""++++""+""+++++""""+++++++===++"""------""""""++=M-ZXXXXAAAIII==+=+==IIIIIIA-"
+                                              C C+C++++CCCC++C++CCCCC++++CCCCCCCCCCCC+++......++++++CCC C                         C+
+                                                 C CCCC    CC CC     CCCC            CCC''''''CCCCCC                               C
+                                                                                        XXXXXX
+                                                                                        CCCCCC
 1111--111111-11-11111111111111+++1++=+=======IIIIXXZMMM+++"""""""++""""+""+++++++==++"++"-+---"---""++=M-ZZZXXXAAAAI===1++=IIIIIIAX=
+                                                       CCC+++++++CC++++C++CCCCCCCCCCC+CC+.C...+...++CCC C                          C
+                                                          CCCCCCC  CCCC CC           C  C' '''C'''CC
+                                                                                         X XXX XXX
+                                                                                         C CCC CCC
 1111-1111111111111111111111111+1+1+++++==+==I==IIIIIIIIAXX-MM++"""""""""""+"++"""+++""++"--------"--"+=MM-ZZXXXXAAIAI======IIIIIIIAZ
+                                                          C  CC+++++++++++C+CC+++CCC++CC+........+..+CC  C
+                                                               CCCCCCCCCCC C  CCC   CC  C''''''''C''C
+                                                                                         XXXXXXXX XX
+                                                                                         CCCCCCCC CC
 111111111+1111-11111111111++111111+11+++===+==+===II===II=IIIXZZMMM=++""""""++""""""""+++"----------""+==--ZZXXXAAIII===+=I=IIIIIIIA
+                                                                   CCC++++++CC++++++++CCC+..........++CCCCC
+                                                                      CCCCCC  CCCCCCCC   C''''''''''CC
+                                                                                          XXXXXXXXXX
+                                                                                          CCCCCCCCCC
 ++111111111111-11+1111111111111++11+1111+++=+====+======I======IAIAAXZMMM+"""+"""""""""++""---"--""-""++=MM-ZZZXAAIIII====IIIIIIIIIA
+                                                                         C+++C+++++++++CC++...+..++.++CCC  C
+                                                                          CCC CCCCCCCCC  CC'''C''CC'CC
+                                                                                           XXX XX  X
+                                                                                           CCC CC  C
 111111111+1+++1+11--11++1+1+++111+11+++1+++++++=+=+=+===========II==IIII=-ZZM+""""""""""++"-------"--"""+=M--ZXZXAAIII=+===IIIIIIIIA
+                                                                             C++++++++++CC+.......+..+++CC CC
+                                                                              CCCCCCCCCC  C'''''''C''CCC
+                                                                                           XXXXXXX XX
+                                                                                           CCCCCCC CC
 +++1+1++++++++1111++11+1++1+++++1111+111+++++++==++==+++=+=+======+II=IIIIIIIXXMMM=++""+"+"------------""+=M--ZZXAAAAI=====IIIAIIIAA
+                                                                                  CCC++C+C+............++CC CC
+                                                                                     CC C C''''''''''''CC
+                                                                                           XXXXXXXXXXXX
+                                                                                           CCCCCCCCCCCC
 +++1+++++++++++1111+111++++1111111111+11+1++++++++++++++=+++=+============IIIIIAAAAXX---M=M+"+""""""--""++==M-ZZXXAAAII====IIIIIIIIA
+                                                                                     CCC C C+C++++++..++CCCC C
+                                                                                            C CCCCCC''CC
+                                                                                                    XX
+                                                                                                    CC
 =++++++++++++++++++1++++++11+1+111111+1+11++++++++++++++=++++++=+++========IIIIIIIIIIAAAAAAXXXXZZ--ZMM-MZZ--ZZZXXXXAAII====IIIIIIIII
+                                                                                                 CC   C   CC
+
+
+
 =+==++++=+++++1+1++11+1+++1+11++-1111111-1++1+1++11+11+++++++++++==++====+==I=I=IIII=IAIIIIAAIAAAAAAAAAXAAAAAAXAXAAAIIII===IIIIIIIII
+
+
+
+
 ==============++++=+++++++++++++1+1+++111+1+++1++++++1+1+1++11111+++++=++=+====II=II==IIAIIIIIAAAAAAAAAAAAAAAAAAAIIIIII==II=IIIIIIII
+
+
+
+
 =========I====+==+===+++++++++++++11+1++1+++++1++11111+1+1111111111+++++++=============IIIIIIIIIIIIIIAIIIIIIIIIIII=I======IIIIIIIIII
+
+
+
+
 II==I====I===============+=++=++++1+++++++++++11111111+111+11111111111+++1+++==+=======IIII=IIIIIIIIIIIIII==II===========IIII=IIIIII
+
+
+
+
 =IIIIIII==I====I==I+==========++++++++++++++1+1111111111111111--1111111111++1++++=+==+=====IIIIIIIIII====I===+==+1+==+==I=IIIIIIIIII
+
+
+
+
 IIIIIIII=IIIIIIII========I==+==++=+===++===+++++1+111++111111---111-111111111++++++++++=+==II======I=I=======++=+++=====I=IIIIIIIIII
+
+
+
+
 IIIIIIIIIII=I=IIIII+====II=====++++==+=+===++++++++111111111--11----111111111111+++1+1+++====+=+==========++++++++======IIII=IIIIIII
+
+
+
+
 AIIIIIIIIIIIIIIIIII=I==II===I=I===========I======+=+1+1111111----11--1---1-1---1111--11++++=+++++++=++=+=++++====+==IIIIIIIIIIAIIIII
+
+
+
+
 AIIAAIIAIAAAIIIIIIIIII===I=II=IIIII=I=====II=====++++=+++11--1---1-----11-1  --1--------111+1+11+11+11++++1+++++=====IIIIIIIIIIIIIII
+
+
+
+
 AAAAAAAAAIAAAAIAAIIIII=I=IIII==IIIIII===I==I====+++++=+++11--I111-     - ----- -----1------11--1----1111-11--1+-1--11+++++++++111111
+
+
+
+
 IIAIII=I===III=II===I=+=++====+=++=+==++++++=+++11111+11111--=1+1- -- -------  ----- ---   -----------11++11++++++=====IIII=I=I=====
+
+
+
+
 AIIIIII=II=IIIIIIIIIII+I=+I===========+=====+==++++++++11111111111-----111111--------------11-------1111++++++++==IIIIIIIIIIIIIIIIII
+
+
+
+
 IAII=II=III=IIIIAIAIII=III=====IIIIII====+==++===+++++1+111-1111-1-1111111111-1--11111111-1111111111+11++++++++=+=IIIIIIIIIIIII==I==
+
+
+
+
 IIAIIIIIIIIIAIIIAIIIIII=II==I=IIII=============+=++++++++++++++11++1++11+1+1+1+++++11+1111++1+1111++++++=++==+=====IIIIIIAAAIIIIII=I
+
+
+
+
 AIIAIIIIAAIIIIIIIIIIIIII==II=IIIII=II=====I=++==+++++=+++++++++1+1111++++1+++++++++++++++++++++++++++++========II=IIIIAIAIAAAIIIIII=
+
+
+
+
 IAIAIAIIAAAAAIAAAAAAAII=IIIIIIIIIIII=I=I========+++++=+++++++1++++++++++++++++++=+++++++++++++++=++=======I==IIIIIIIIIAAAAAAAIAIIIII
+
+
+
+
 IIIIAIAAIIAIIIIIAAAIIIIIIIAIIIIIIII=I=I=II=======+=+++++++=+++++++++++++=+++=+++====+=+=++=+=======I==I=I=IIIIIIIIIIIIAAAAAIAIIIIAII
+
+
+
+
 IAAIIAAAAIIAIIAIIIAIIIIIIIIIIII=IIIIII=IIII============+=+===+=++==+==+=======++===============II=II=IIIIAIIIIAAAIAAAAAAAAAAAIAAIAAA
+
+
+
+
 IAAAIAAAIAAIIAAAIAIIIII=IAAIII===IIIII=IIIII=I====I=============+==============+====I====I===I=II=IIIIIAAAAIAAAAAAAAAAAAAAAAAAAAAXAX
+
+
+
+
 AIIAAAAAAAAAIIAAAIAAIAAAAAIAAAIIIIIIIIIIIIIII=====II==============II===II=====I+II=II=IIIIIIIIIIIIIAIIAAAAAAAAAXAAAAAXAAXXAXAXXAXXXX
+
+
+
+
 IAIIAAAAAAIAIAAIAAAAAAIAXIAIIIAAIIIIIIII=IAII===II=I=I====I=====III==IIIIIIIIII=IIIIIIIIIIIIIIIAAIAAAAAAAAAAAAAAXXXXAAXAAAXAXXXXXXXX
+
+
+
+
 AIAAAIAAAAAAAIAAXAAAAAAAAAAAAAAAAIIIIIIIIIAIIIIIIIIIIIIIIIII=IIIIIIIIIIIIAIIIIIIIIIIIAIAIAIAAIIAAAAAAAAAAAXAAAAXXXXXXAXXXAXXXXXXXXZZ
+
+
+
+
 AAAAAAAAAAAAAAXXAXAAAAAAXXAAAAAAAAAIIIIIIIAAIIIIAIIIIIIIIIIIIIIIIIIIIIAIIAIIAIAIAIIIIAIAAAAAAAAXAAAAAAAAAAXAAXAXAXXXXXXXXXXXXXZZXZZZ
+
+
+
+
 AAIAAAAAAXAAAXXXXXXXXAXXXXXXXXAAAAAAAAAAAAAAAAIAAAAAIAAAIIAIIIIIIIIAIAAAAAAAAAAAAAAAAIAAIAAAAAAAAXAAXXAXXXXXXXXXXXZXXXXXXXXZZZZ-Z--M
+                                                                                                                               C CC
+
+
+
 AAAAAAAAAXXAAXAAAXAXXXXXXXXXXAXXAXXXAAAAAAAAAAIAAAAAAAIIIAAIIAIAIAIAAAIAAAAAAAAAAAAAAAAAAAAXAXXAAXAAXXXXXXXAXXZXXXZXXXXXXXXZZZZZ--M=
+                                                                                                                                CC C
+
+
+
 AAAAAXXAXXXXXZXZAXXZZZZZZZZZZZZXXZXXXXAAXAXXXAAAAAAAAAAAAAAAAAAAAAAAAAAXAAAAAAXAAAAAAAAAAAAXAXXXAXXXXXAXXXXXXZXZZZZZXZZZZZZZZ---M=++
+                                                                                                                             CCC CCC
+
+
+
 AAAXXXXXXZZXZZZZAZZZZ-ZZZZZZZZZXZZZZXXXXXZXXXAAXXXXXXAAAXAAAAAXAXAAXAAXXXXAXAXAAXXAAAAAXXAAXXXXXXXXXXXXXZXZXZZZZZZZZZZZZZZ----M=+"+"
+                     C                                                                                                    CCCC CC+C+
+                                                                                                                                 C C
+
+
 AAAXXXZZZ--Z----------ZZ----------ZZZZZZZZZXZXXZZXXXXXXXXXAAXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXXXXXXXXXXXXZZZZZZZZZZZZZZ-Z----MM==+"""""
+         CC CCCCCCCCCC  CCCCCCCCCC                                                                                  C CCCC  CCC+++++
+                                                                                                                               CCCCC
+
+
 IAAXZZ--M+"+"""""""""""+=+MM----------ZZ-Z-ZZZZZZZZZZZXZXXXZXZXXZXXZXXXXXZXZXZXXXXXXXZXXZXXZXZXXXZZZZXXZZXZZZ--ZZZ---MMM===+""""""""
+      CC C+C+++++++++++CCC  CCCCCCCCCC  C C                                                                  CC   CCC   CCCC++++++++
+          C CCCCCCCCCCC                                                                                                     CCCCCCCC
+
+
 AAXXXZ-M+++"""""------------"+=M=MM--M------------ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXZXZZZZZZXXZZZZZZZZZZZZZ----------MM===++""""""+""""
+      C CCC+++++............+CC C  CC CCCCCCCCCCCC                                                      CCCCCCCCCC  CCCCC++++++C++++
+           CCCCC''''''''''''C                                                                                            CCCCCC CCCC
+                XXXXXXXXXXXX
+                CCCCCCCCCCCC
 IIAAXXXZ---==++""-"-----------+++++=+=MMMMM---------Z---ZZZZZ---ZZ--Z-ZZ-ZZZZZZZZZZZZZZZZZZZ-Z----ZZ-----M---MM=M=++"""""""""""++"""
+        CCCCCCC++.+...........CCCCCCCC     CCCCCCCCC CCC     CCC  CC C  C                   C CCCC  CCCCC CCC  C CCC+++++++++++CC+++
+               CC'C'''''''''''                                                                                      CCCCCCCCCCC  CCC
+                 X XXXXXXXXXXX
+                 C CCCCCCCCCCC
 IIIIIIAAAXZ-M=+""""------------"+=+++++==++=====MMMM---M-----------M------------Z--XZ-----XZ--MMMMM-MMM======++++"---"""""+"""""++""
+           C CC++++............+CCCCCCCCCCCCCCCC    CCC CCCCCCCCCCC CCCCCCCCCCCC CC  CCCCC  CC     C   CCCCCCCCCC+...+++++C+++++CC++
+               CCCC''''''''''''C                                                                                 C'''CCCCC CCCCC  CC
+                   XXXXXXXXXXXX                                                                                   XXX
+                   CCCCCCCCCCCC                                                                                   CCC
 ======IAAAXZ-M=+"""""""-"-----""+==++++==++++++++++-MMMMMMMM-MMMMMMMMMMMMMM---M----Z-M-MMMZ-MMMMM===+==+"++"++"++"---""+""""""""+++"
+            C CC+++++++.+.....++CCCCCCCCCCCCCCCCCCCC        C              CCC CCCC C C    C     CCCCCCC+CC+CC+CC+...++C++++++++CCC+
+                CCCCCCC'C'''''CC                                                                        C  C  C  C'''CC CCCCCCCC   C
+                       X XXXXX                                                                                    XXX
+                       C CCCCC                                                                                    CCC
 =I==I=IIAAAXZ-MM+""""-""--"-----"==++++==++++=+++++=++""+++================================M=++++++++"""""++++"++"---"""""""""""+"++
+             C  C++++.++..+.....+CCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC+++++CCCC+CC+...+++++++++++C+CC
+                 CCCC'CC''C'''''C                     CC                                             CCCCC    C  C'''CCCCCCCCCCC C
+                     X  XX XXXXX                                                                                  XXX
+                     C  CC CCCCC                                                                                  CCC
 IIIIIIIIAAAXXZ--M==++""""""------"+++++=++++======+=++"++++++"++++++=+++"++++++++++++++++++M+""""""++""+""+++++++"--""""""""""""+"++
+              CC CCCC++++++......+CCCCCCCCCCCCCCCCCCCC+CCCCCC+CCCCCCCCCC+CCCCCCCCCCCCCCCCCC C++++++CC++C++CCCCCCC+..++++++++++++C+CC
+                     CCCCCC''''''C                    C      C          C                    CCCCCC  CC CC       C''CCCCCCCCCCCC C
+                           XXXXXX                                                                                 XX
+                           CCCCCC                                                                                 CC
 ==IIIIIIIIAAXXXZ---MM==+"""""-----"++====++==+===M===++=+=++++++++++++++""""++""""""++++++==+"""""+++"+++""++"+++"--"""""""""""+""+"
+                CCC  CCC+++++.....+CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCC++++CC++++++CCCCCCCCC+++++CCC+CCC++CC+CCC+..+++++++++++C++C+
+                        CCCCC'''''C                                     CCCC  CCCCCC         CCCCC   C   CC  C   C''CCCCCCCCCCC CC C
+                             XXXXX                                                                                XX
+                             CCCCC                                                                                CC
 I===III=IIIIAXXXXZZZ---M==+++"""""-"+===++=+==+=======++=M=+++++++++++"+""++++++""""+++++==M+++++++==++++++++++++"-""++"""+++""""+""
+                    CCC CCCCC+++++.+CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC+C++CCCCCC++++CCCCCCC CCCCCCCCCCCCCCCCCCCCC+.++CC+++CCC++++C++
+                             CCCCC'C                                  C CC      CCCC                             C'CC  CCC   CCCC CC
+                                  X                                                                               X
+                                  C                                                                               C
 =========IIIAAAAXXXXXZZ-Z-MMM=++"""-"++++======++++=++=+==+++=++++"+++"+"+++++++""""+++++====++"+++=++++"++++"+=++--""++++"+""-""""+
+                       C C   CCC+++.+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+C+CCCCCCC++++CCCCCCCCCCC+CCCCCCCC+CCCC+CCCC..++CCCC+C++.++++C
+                                CCC'C                             C   C C       CCCC           C        C    C    ''CC    C CC'CCCC
+                                   X                                                                              XX          X
+                                   C                                                                              CC          C
 =========IIIIAAAAAAAAAAXXXZZZ--MM=="""++"+=++=++++++==+++=+++==+++"+++"++++=+""""""""+=++=++=++"++=+++++"++++""+="--"+++"""++"""""++
+                             CC  CC+++CC+CCCCCCCCCCCCCCCCCCCCCCCCC+CCC+CCCCCC++++++++CCCCCCCCCC+CCCCCCCC+CCCC++CC+..+CCC+++CC+++++CC
+                                   CCC  C                         C   C      CCCCCCCC          C        C    CC  C''C   CCC  CCCCC
+                                                                                                                  XX
+                                                                                                                  CC
 ==========IIIAIAIAIIAAAAAAAXXXXZZZ-MM+"+++++++++++"++=++++++++++++"+++"""++++""+"""""++++++++++"+++++++++"++++"++"-""+++"""+++""""++
+                                  C  C+CCCCCCCCCCC+CCCCCCCCCCCCCCC+CCC+++CCCC++C+++++CCCCCCCCCC+CCCCCCCCC+CCCC+CC+.++CCC+++CCC++++CC
+                                      C           C               C   CCC    CC CCCCC          C         C    C  C'CC   CCC   CCCC
+                                                                                                                  X
+                                                                                                                  C
 ===========II=II=IIIIIIAIIIIAAIAAAXZZ-+""+"+"+++++"===+++++++++++"++++""+"+"""""""+"="+++++++++"+"++++++=++++++++"--""++"""++""+""++
+                                     CC++C+C+CCCCC+CCCCCCCCCCCCCC+CCCC++C+C+++++++C+C+CCCCCCCCC+C+CCCCCCCCCCCCCCC+..++CC+++CC++C++CC
+                                       CC C C     C              C    CC C CCCCCCC C C         C C               C''CC  CCC  CC CC
+                                                                                                                  XX
+                                                                                                                  CC
 =+=======I==============II==II=IIIIAAX-M+""""+++=+"++++++++++++==++++++++"""""""""+++"++++===++""+++++++++""++++=""-""+++""+++"+""""
+                                      C C++++CCCCC+CCCCCCCCCCCCCCCCCCCCCC+++++++++CCC+CCCCCCCCC++CCCCCCCCC++CCCCC++.++CCC++CCC+C++++
+                                         CCCC     C                      CCCCCCCCC   C         CC         CC     CC'CC   CC   C CCCC
+                                                                                                                   X
+                                                                                                                   C
 ===================++==++======+====IIXZ-=+"++++++++++++++"+=++=++++=+++++"""+""""""++++=+++=++""++++++"++++"+++=+--""+++++++=+++"""
+                                        CCC+CCCCCCCCCCCCCC+CCCCCCCCCCCCCCC+++C++++++CCCCCCCCCCC++CCCCCC+CCCC+CCCCC..++CCCCCCCCCCC+++
+                                           C              C               CCC CCCCCC           CC      C    C     ''CC           CCC
+                                                                                                                  XX
+                                                                                                                  CC
 =========++====++++++1+1+++1++++++++==IAXZ-+++++++=++"+++""+=++=+"+"+=++++""++++""+++"++=+++=+++""+++++"+++++"++++--""++++++++=+=+""
+                                          CCCCCCCCCCC+CCC++CCCCCC+C+CCCCCC++CCCC++CCC+CCCCCCCCCC++CCCCC+CCCCC+CCCC..++CCCCCCCCCCCC++
+                                                     C   CC      C C      CC    CC   C          CC     C     C    ''CC            CC
+                                                                                                                  XX
+                                                                                                                  CC
 ++=======+++++++1++1+111111---111111+++=IAXZM++++=+++""++"++++++++"+"+=++"""++""""+"++++=++=++=++"+++++++++""++++"-"""=++""+++++++""
+                                             CCCCCCCC++CC+CCCCCCCC+C+CCCC+++CC++++C+CCCCCCCCCCCCC+CCCCCCCCC++CCCC+.+++CCC++CCCCCCC++
+                                                     CC  C        C C    CCC  CCCC C             C         CC    C'CCC   CC       CC
+                                                                                                                  X
+                                                                                                                  C
 +=====+++++++++1111111--11----------11++=IIXZM+++++++""++""++++++""""++""""+++++""+"""+++++==+=+++++++++"++++++++""-""+++""+++++++""
+                                              CCCCCCC++CC++CCCCCC++++CC++++CCCCC++C+++CCCCCCCCCCCCCCCCCC+CCCCCCCC++.++CCC++CCCCCCC++
+                                                     CC  CC      CCCC  CCCC     CC CCC                  C        CC'CC   CC       CC
+                                                                                                                   X
+                                                                                                                   C
 +=++==+=+++++++111-------- -----------11+==IAX-+"++++++=+""++"+++""""""++""+++++""+"""++++++++++"+++++++++++++++="""-+++""+++++=+"""
+                                              CC+CCCCCCCC++CC+CCC++++++CC++CCCCC++C+++CCCCCCCCCC+CCCCCCCCCCCCCCCC+++.CCC++CCCCCCC+++
+                                                C        CC  C   CCCCCC  CC     CC CCC          C                CCC'   CC       CCC
+                                                                                                                    X
+                                                                                                                    C
 +=====+++++++1+111--------  --   -------++===IAM+"++++++++++"+++++"""""++"+++++++++""++++++"++++++++=+=+++++"+++=""""++++""+++++++""
+                                                C+CCCCCCCCCC+CCCCC+++++CC+CCCCCCCCC++CCCCCC+CCCCCCCCCCCCCCCC+CCCC++++CCCC++CCCCCCC++
+                                                 C          C     CCCCC  C         CC      C                C    CCCC    CC       CC
+
+
 +++=+++111++1+11--------             ---1++=+I=XM"""++++++++"+"+++++""+=+++++++++"""++++==+"++++"=+=++=+++=++++==""-""=+++""++++++"+
+                                                 +++CCCCCCCC+C+CCCCC++CCCCCCCCCCC+++CCCCCCC+CCCC+CCCCCCCCCCCCCCCC++.++CCCC++CCCCCC+C
+                                                 CCC        C C     CC           CCC       C    C                CC'CC    CC      C
+                                                                                                                   X
+                                                                                                                   C
 +++++1++1++++111-1-----  -          - - --1++==IX="""""+++"""""+++++""++"++++"++""""""""+=+++++"+==+++++++++"++==+"""+++""+++++++++"
+                                                 C+++++CCC+++++CCCCC++CC+CCCC+CC++++++++CCCCCCC+CCCCCCCCCCCC+CCCCC+++CCC++CCCCCCCCC+
+                                                  CCCCC   CCCCC     CC  C    C  CCCCCCCC       C            C     CCC   CC         C
+
+
 ++1++++++++1+11-------                  --111++=A-+""""++"+""+"+"+++++++++++"+++"""""""++=++++++++++++++"+++"+++=+"""++"""+"+++++++"
+                                                 CC++++CC+C++C+C+CCCCCCCCCCC+CCC+++++++CCCCCCCCCCCCCCCCC+CCC+CCCCC+++CC+++C+CCCCCCC+
+                                                   CCCC  C CC C C           C   CCCCCCC                 C   C     CCC  CCC C       C
+
+
 +++1+++++++1111----  ---                 --1+++=IX+""""++""+"+++""+++++++"+++""+""""+"++++++++""++++++++""++++++=""-"""""+"""++++++"
+                                                  C++++CC++C+CCC++CCCCCCC+CCC++C++++C+CCCCCCCC++CCCCCCCC++CCCCCCC++.+++++C+++CCCCCC+
+                                                   CCCC  CC C   CC       C   CC CCCC C        CC        CC       CC'CCCCC CCC      C
+                                                                                                                   X
+                                                                                                                   C
 11111+++11111---- ---   -               ----11++=A="""++""+++++"++"++++++"++++++++"+"+==++++=++"+=++++++++++++"+=+--""++++++""+++++"
+                                                  C+++CC++CCCCC+CC+CCCCCC+CCCCCCCC+C+CCCCCCCCCC+CCCCCCCCCCCCCC+CCC..++CCCCCC++CCCCC+
+                                                   CCC  CC     C  C      C        C C          C              C   ''CC      CC     C
+                                                                                                                  XX
+                                                                                                                  CC
 ++11+1+++111------- -- --               ----11+++A="""+++"+++++"++"++++++"+++""+""""++++++"==++""+++++++++++"""++""""++++++"+"++++++
+                                                  C+++CCC+CCCCC+CC+CCCCCC+CCC++C++++CCCCCC+CCCC++CCCCCCCCCCC+++CC++++CCCCCC+C+CCCCCC
+                                                   CCC   C     C  C      C   CC CCCC      C    CC           CCC  CCCC      C C
+
+
 +111111+1--1-1---- -------                ----++=I="""++"""++"++"++++++++"++++++"""+++++++"+=++++++++++++++++""+="""""+""++++"+"++++
+                                                  C+++CC+++CC+CC+CCCCCCCC+CCCCCC+++CCCCCCC+CCCCCCCCCCCCCCCCCC++CC+++++C++CCCC+C+CCCC
+                                                   CCC  CCC  C  C        C      CCC       C                  CC  CCCCC CC    C C
+
+
 +11111111---------------------          ----111+=A+"""+++""++++"""+++++++"++++++"""+++++++"++=++++++"+++"+++++++="-""++++++++"""""+=
+                                                  C+++CCC++CCCC+++CCCCCCC+CCCCCC+++CCCCCCC+CCCCCCCCC+CCC+CCCCCCCC+.++CCCCCCCC+++++CC
+                                                   CCC   CC    CCC       C      CCC       C         C   C        C'CC        CCCCC
+                                                                                                                  X
+                                                                                                                  C
 1111111------------------   --          ---11++=IX+"++++"++++++"""""+++++"++=++=+++++++==++++++"+++++"+"++++"+++=+""""++++""+""++"++
+                                                  C+CCCC+CCCCCC+++++CCCCC+CCCCCCCCCCCCCCCCCCCCC+CCCCC+C+CCCC+CCCCC++++CCCC++C++CC+CC
+                                                   C    C      CCCCC     C                     C     C C    C     CCCC    CC CC  C
+
+
 11111-1--------------------- ---     -- ---11+=II-"""+"+"+++==+""""++++++"+++++=+""++++===++++++"""+++"+++++++"++"""""+++++++"+++++"
+                                                 C+++C+C+CCCCCC++++CCCCCC+CCCCCCC++CCCCCCCCCCCCC+++CCC+CCCCCCC+CC+++++CCCCCCC+CCCCC+
+                                                  CCC C C      CCCC      C       CC             CCC   C       C  CCCCC       C     C
+
+
 1111-1------------------1----------  -  -111++==A="""""+"+++==+"+"++++++""+++++++"""++++++++++++"""+++++++++++""+"""""++++++++++++++
+                                                 C+++++C+CCCCCC+C+CCCCCC++CCCCCCC+++CCCCCCCCCCCC+++CCCCCCCCCCC++C+++++CCCCCCCCCCCCCC
+                                                  CCCCC C      C C      CC       CCC            CCC           CC CCCCC
+
+
 +11111-1---------------111---1------ ---11111++IZ""""""+"""++++++"""++++"+++++"++"""++++++++++=+"""+++=++++++++++"""""+++++"++=+==++
+                                                 ++++++C+++CCCCCC+++CCCC+CCCCC+CC+++CCCCCCCCCCCC+++CCCCCCCCCCCCCC+++++CCCCC+CCCCCCCC
+                                                 CCCCCC CCC      CCC    C     C  CCC            CCC              CCCCC     C
+
+
 1111-----------------1-----1------------1111++=IM"""+++++"++==++++"+++++"++++""+"++++=++===+++=+"""+++++++=+++=++"""""+++++"++++++"+
+                                                 +++CCCCC+CCCCCCCC+CCCCC+CCCC++C+CCCCCCCCCCCCCCC+++CCCCCCCCCCCCCC+++++CCCCC+CCCCCC+C
+                                                 CCC     C        C     C    CC C               CCC              CCCCC     C      C
+
+
 +1111111--1-------1---111-1111-11-1-1111111++=IA+""""+++++++===+++"+++++++"+++"+"++++++++++++++""""++++++++++++=++"""++++"""++""""""
+                                                C++++CCCCCCCCCCCCC+CCCCCCC+CCC+C+CCCCCCCCCCCCCC++++CCCCCCCCCCCCCCC+++CCCC+++CC++++++
+                                                 CCCC             C       C   C C              CCCC               CCC    CCC  CCCCCC
+
+
 +11111-1--1---1---1111-11111111111111111++11+=I-""""""++++++++==+++++++++"+++++++++++++++++"+=+"""""++++++==+++==+"""++++""++++"""++
+                                               C++++++CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCC+CCC+++++CCCCCCCCCCCCCC+++CCCC++CCCC+++CC
+                                                CCCCCC                   C                 C   CCCCC              CCC    CC    CCC
+
+
 =+1+111--1111-11--1111111+++1111+1+111++++=+==A=""""""+++"""+++=+++++++++++++++++"+++++++++"+=++"++"+++""++++++==+""""++++++++"+""""
+                                               C++++++CCC+++CCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+CCCC+CC+CCC++CCCCCCCCC++++CCCCCCCC+C++++
+                                                CCCCCC   CCC                     C         C    C  C   CC         CCCC        C CCCC
+
+
 +++1111111-+11---1111-1111+++1+++111+1+++=====X+"""""""""""++++==+++=+++=+++++++++++++++++++"+++"+""++++"++=+++=M+""""++++++++++""""
+                                               C+++++++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+C++CCCC+CCCCCCC C++++CCCCCCCCCC++++
+                                                CCCCCCCCCCC                                 C   C CC    C         CCCC          CCCC
+
+
 =+++++++++1111111111111++++=++++=++==++====III="""++"+"+++"+++++=++++==+=++=+++++++++"+++=+++++"""""++++""+=++++=+"""++++++"+++++"""
+                                              C+++CC+C+CCC+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+++++CCCC++CCCCCCCC+++CCCCCC+CCCCC+++
+                                               CCC  C C   C                          C         CCCCC    CC        CCC      C     CCC
+
+
 ==+++=+++++++++11111111+++==============I=IIIZ+"+""+++++++"+++++=+++====+++==++++++++"++==+++++"""""++++"++=++++=+"""++++++"++++++"+
+                                              C+C++CCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+++++CCCC+CCCCCCCCC+++CCCCCC+CCCCCC+C
+                                               C CC       C                          C         CCCCC    C         CCC      C      C
+
+
 =======++=++++=+++++++++=+===IIIIIIIII=IIIIAX="++""+++++++++++++=+++=+++++===++++"+++++===+++==""""+++++"+++++++=+"""+++++++++++++++
+                                             C+CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCC++++CCCCC+CCCCCCCCC+++CCCCCCCCCCCCCCC
+                                              C  CC                              C             CCCC     C         CCC
+
+
 =====++========+=+1++++====IIIAIIIIIIIIIAAAAM+"+"+++++++++++++++=++"+++++++++++++++"+++===++=++++++++++++"+=+====="""++++++++=++++++
+                                             C+C+CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC+CCCCCCCC+++CCCCCCCCCCCCCCC
+                                              C C                  C               C                     C        CCC
+
+
 =====================++==IIAIIAAAAIIAIAAAAXZ+"+"+++"+++++++++++++++"+++++++++++++++++++++++++++++"++"++++++=+++==+"""+++++++"++++""+
+                                            C+C+CCC+CCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+CCCCCCCCCCCCC+++CCCCCCC+CCCC++C
+                                             C C   C               C                             C  C             CCC       C    CC
+
+
 ====I====I=IIII==II======IIAAAAAAXAAAAAAAX-=+++++++"+++++==+++++++++++"++++++++++++++++++++++++++"+++++++++=+==+=+"""+++++++"++"++++
+                                          CCCCCCCCC+CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCC+++CCCCCCC+CC+CCCC
+                                                   C                  C                          C                CCC       C  C
+
+
 =IIIIII==IIIIIIIIIII===I=IAAXXXXXXAAXXXXZ-+"+++++++"+++++++++"++++++++"+"+++++++++++++++++++++++""+++++++++=+=++=="""+++++++++++++++
+                                         CC+CCCCCCC+CCCCCCCCC+CCCCCCCC+C+CCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                           C       C         C        C C                       CC                CCC
+
+
 IIIIIIIIIIIIIIIAIIIIIIII=IIAAZXXXXXXXXXZM=+"++++++"+++++++=++"++++++++++++===+++++++=++++++++=+++++++++++++=++++=="""+=+++++++++++++
+                                         CC+CCCCCC+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                           C      C          C                                                    CCC
+
+
 II=IIIIIIIIIIIIIIIAAAIIAIIAAXZZ-ZZZZZZ-M+""+++++"++++++++++++++++++++++++++==++++++++++===+=++=++"+++++++++=+++==+"""+=+++"+++++=+++
+                               C      C C++CCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCC+++CCCCC+CCCCCCCCC
+                                         CC     C                                                C                CCC     C
+
+
 I=I=I=IIIIIIIIIIIIIIAAAAAAAXXZ------M-=++++++++++++++++++++==+++++++"++++++==+++++++++=====+++++++++""+++++=+++==+"""+=+++++++++==++
+                              CCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                                                    C                               CC            CCC
+
+
 ==I===IIIIIAIIIAIIIIAAAIIAAXXZ-MMMMM++==++++++"++++++++++++==+++++++"++++++++++"+++++=====+++++++++++"++++=+++++=+"-"+=++"++++++=++=
+                              C     CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCC+.+CCCC+CCCCCCCCCC
+                                              C                     C          C                     C            C'C    C
+                                                                                                                   X
+                                                                                                                   C
 ======II=I=IIIAAAIIAAAAA=AAAAXZM=+++++==+++++="+++++=+++++=+==+++++++"+++"++++""+++=+=+==++++++++++++++++++=+==+=="""+==++++++=+=+=+
+                                CCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCC+CCC+CCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                              C                      C   C    CC                                  CCC
+
+
 =======IIIIIIIIIAAIAAIIAAAAXXXZ-+++"++==+++=+++++++++++===++++++++++""+++"+++++++++++++====++=+=++++++++++"+++=+==""""+=++++++++=+++
+                               CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC++++CCCCCCCCCCCCCC
+                                   C                                CC   C                                C       CCCC
+
+
 =====II=I=IIIIIIAIAIAIAAAAAXXXX-=""""+++++==+++++++++++==+=++++++++++"""+++++"+++++++++===+++==++++++"++++++=+++=="""++=+++++++++=++
+                               CC++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCC+CCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                 CCCC                                CCC     C                       C            CCC
+
+
 =====I==IIIIIIIIAAAIIAIAAAAXXXXZM"""+++++==+++++++++++++++=++++++++++"""+++++++++++++"+++=++++=++++++""+++++=+++=+""""+=++""++++++++
+                                 +++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCC+CCCCCCCCCCCCCCC++CCCCCCCCCCC++++CCCC++CCCCCCCC
+                                 CCC                                 CCC             C               CC           CCCC    CC
+
+
 ====III=IIIIIIIIIAIIIIIAAAAAAXZZ-+""+++++==++++++++++===++=+++++++++++"++++++++++++++++=+++++=+++++""+++++++=+++=+"""+==++++++++++++
+                                CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCC+++CCCCCCCCCCCCCCC
+                                  CC                                  C                            CC             CCC
+
+
 =I===I==IIIIIIIIIIIIIIIIAAAAXXXZZ="""++++=++++++=+++++++=+++=+++=++++"+++++++""++""++++++++++=++++"""+++++++=+++=+""""=+++++++++++"+
+                                 C+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC++CC++CCCCCCCCCCCCCCC+++CCCCCCCCCCCCC++++CCCCCCCCCCCC+C
+                                  CCC                                C       CC  CC               CCC             CCCC            C
+
+
 I=I=I=II=II=IIIIIIIIIIIIAAAAAXXZZ=+"+++++++++++++==+++=++++==+++=++++++++++"+""+++++++++++++++++++""""++++++++++=+""""+=++++++++++++
+                                 CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++CCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCCC++++CCCCCCCCCCCCCC
+                                   C                                       C CC                   CCCC            CCCC
+
+
 II===I=II===IIIIIIIIIIIIAAIAAXAXZ=""++++++++++++==+==+=+++++++++++++"+++++++"+"+++""++++==++++++=+""""++"+++==++=+""""+==+"+++++++"+
+                                 C++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC+C+CCC++CCCCCCCCCCCCCC++++CC+CCCCCCCCC++++CCCC+CCCCCCC+C
+                                  CC                                C       C C   CC              CCCC  C         CCCC    C       C
+
+
 ==I=I======IIIIIIIIIIAAIIAAAAXXXZM++=+++"++++++++==+=+===+++++++++++++++"+++++++++"+++++==++++=+++""""+++++==+++=+"""++==+++++++++"+
+                                  CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+CCCCCCCCCCCCCCC++++CCCCCCCCCCCC+++CCCCCCCCCCCCC+C
+                                        C                               C         C               CCCC            CCC             C
+
+
 IIIII====II=I=IIIIIIIIIIIIAAAAAXZ-++++++++++++++=++++++==+"+++++++++"+"++"++++++++"++++=+++++++++"+""+++++++==+==+""""+=M=++++++++++
+                                 CCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCC+C+CC+CCCCCCCC+CCCCCCCCCCCCCC+C++CCCCCCCCCCCCC++++CC CCCCCCCCCCC
+                                                          C         C C  C        C              C CC             CCCC
+
+
 IIIII=I=======III=IIIIIIIAAAAAXXX-+++++++++++++====+++++=+++++++++++"++++++++++++++++++==++++++++""""""++++++=+==+""""+MZ+++++++++++
+                                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCC++++++CCCCCCCCCCC++++C  CCCCCCCCCCC
+                                                                    C                            CCCCCC           CCCC
+
+
 IIIIIIII======I==I=IIIIAIAAAAXXXZ-+"++++=+++++++++==+++++++=++++++++++++++++++++++"++++===++++++++""+++++++++=====""""+Z+++++++++++"
+                                 CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCC++CCCCCCCCCCCCCC++++C CCCCCCCCCCC+
+                                   C                                              C               CC              CCCC             C
+
+
 IIIII===I========I==IIAIIAAAIAAXXZ=++=+=+=++++++++===+==++==+++++++++++++++++++++++++++==+++++++++""+++++++++++==+""""+++==+++++++++
+                                  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCCC++++CCCCCCCCCCCCCC
+                                                                                                  CC              CCCC
+
+
 IIAII=III=I===I==I=IIIIIAAAAAXXXXZ="++++=+++++=+++++===+++=++++++++++++++++++++"+"++++====++++++++"""+++++++++++=+""""++++++++++++++
+                                  C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCC+++CCCCCCCCCCCCC++++CCCCCCCCCCCCCC
+                                   C                                           C C                CCC             CCCC
+
+
 IIIIIIIIIIII=I===I==IIIIAAAAAAXXXXM+++++++++=+==++++===++++==++=++++++++++"+++++"+++++====++++++++""""+++++++++===""""+++++++"+""+++
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCCCCCCCCCCCC++++CCCCCCCCCCCC++++CCCCCCC+C++CCC
+                                                                          C     C                 CCCC            CCCC       C CC
+
+
 IIIIIIIIIIII=I==I==IIIIAAIAAAAXXXZ-+++++++++++=++=++===+++++++++++++++++++"+++++"+++++====++++++++"""+++++++"++===""""+++++"""+""+++
+                                  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCC+CCCCCCCCCCCCCCCCC+++CCCCCCC+CCCCC++++CCCCC+++C++CCC
+                                                                          C     C                 CCC       C     CCCC     CCC CC
+
+
 III==II=I==I=IIII===IIIAIIAAAAXXXZ-++++++++++=+++=+=+==+++++++++++"++=+++"++++++++++++==+++++++=+++""++++++++++===""-"++++++++++++++
+                                  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCCCC++.+CCCCCCCCCCCCCC
+                                                                  C      C                         CC             CC'C
+                                                                                                                    X
+                                                                                                                    C
 III=III=II===IIIIIIIAIIIIAAAAAAXXZZ=++++=+"+++++++=====++==+++++"""++=++++++++++++++++==++++++===+++"+++"++++++===""""+++++++++++""+
+                                   CCCCCCC+CCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+CCCCCCCCC++++CCCCCCCCCCC++C
+                                          C                     CCC                                 C   C         CCCC           CC
+
+
 IIIIIII=III==IIIIIIIIIIIIAAAAAXXXZZ=++++++++++++++=====++==+++=+++++==++"+++++++++++++=+=+++++M===++++++++=++++===""""++=++++++++"++
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCC+CC
+                                                                        C                                         CCCC           C
+
+
 IIIIII=IIIIIIIIIIIIIIIIAAIAAAAAXXZZM++++"++++++++=====+++++++++++++++=++"++++"++""++===+++++++===++++++++++++++===""""++=++++"+++"++
+                                    CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCC+CCC+CC
+                                        C                               C    C  CC                                CCCC       C   C
+
+
 AIIIIII==I==I=III=IIIAIAAIIAAAAXXZZM"+++++++++==++====++++=++=+++++++=++++++++++++++++==+++++=+=++++++=+++++=++==++"""++=+++++++++++
+                                    +CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCC
+                                    C                                                                              CCC
+
+
 AAIIIIIIIIIIII=IIIIIIIIIAAAAAAAXXZZM""++++++++++=++====+++++++++===++++++++++++++++=+===+++++++==++++++++++++++===+"""+=++++++++++""
+                                    ++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCC++
+                                    CC                                                                             CCC            CC
+
+
 AAIIIIIIIIIIIIIIIIIIIIIAIIIAAAAXXXZM""++++++++++=++===+=+++++++++++++++++++++++++++=+===++++++=++++++++++++++++===""""+==++++++++=+"
+                                    ++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCCCC+
+                                    CC                                                                            CCCC             C
+
+
 AAAIIIIIII=I=IIII=I==IIIIIIAIAXXXXZM""++++++++++++===++++++++++++++++++++++=+++++"+====+++=+++++++++""++++++=++==+""""+=+++"++""++++
+                                    ++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCC++CCCCCCCCCCCC++++CCCCC+CC++CCCC
+                                    CC                                           C                  CC            CCCC     C  CC
+
+
 AAAIIAIIII=IIII=IIIIIIIAII=AIAAXXZZM""++++++++==+==++++=++++++=++++++++=+++"+++++++==+===++++++++++++++"+++++++==+""""++=++""+++++++
+                                    ++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCC++++CCCCC++CCCCCCC
+                                    CC                                     C                           C          CCCC     CC
+
+
 AAIAAIAIIIIIIII===IIIIIIIIIIIAAXXZZ-++++++++++++=+=++++++++++=+++++++++++++"++++"++=++==++++++++++=++"""++++++++=+""""+==++""++++"++
+                                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+CCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCC++++CCCCC++CCCC+CC
+                                                                           C    C                    CCC          CCCC     CC    C
+
+
 AAAAIIAIIIIIIII===I=IIIIIIIAAAAXXZZ-+"+++"+++++++++++++++++++=+"+++++++++++""+++"+++=+++=++++++++++++""+++"++++++="""""=+++"""++++"+
+                                   CC+CCC+CCCCCCCCCCCCCCCCCCCCC+CCCCCCCCCCC++CCC+CCCCCCCCCCCCCCCCCCCC++CCC+CCCCCCC+++++CCCC+++CCCC+C
+                                     C   C                     C           CC   C                    CC   C       CCCCC    CCC    C
+
+
 AAAAAIIIIAIIIIII====I=I=IIIIIAAAXZZ-+""++++"++++++++++++=+=++=+"+++++++++++"""+""++++++==++++++++++++""+++++++++++"""""++++"""""+"""
+                                   CC++CCCC+CCCCCCCCCCCCCCCCCCC+CCCCCCCCCCC+++C++CCCCCCCCCCCCCCCCCCCC++CCCCCCCCCCC+++++CCCC+++++C+++
+                                     CC    C                   C           CCC CC                    CC           CCCCC    CCCCC CCC
+
+
 AAIAAIIIIIIIIIIIII====IIIIIAIAAAXXZ-+""++""++=+=++++++++=+=++=++++===++"++""++++++++++=+=+++"+++++++++++++++++++==+"-"++++"+""+++++"
+                                   CC++CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++CCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCC+.+CCCC+C++CCCCC+
+                                     CC  CC                            C  CC                C                      C'C    C CC     C
+                                                                                                                    X
+                                                                                                                    C
 AAIAIAIIAIII=IIIII=I=I==IIIIAAAXXXZ-+"""++"+++++++++=+++++++=++++=+++++++++"++"""++++++==++"++++++"""""++++++++++=""""+=+++"+"+++""+
+                                   CC+++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+++CCCCCCCCCC+CCCCCC+++++CCCCCCCCCCC++++CCCCC+C+CCC++C
+                                     CCC  C                                C  CCC          C      CCCCC           CCCC     C C   CC
+
+
 AAAIAAIIIIIIIIIII==I==IIIIIIIAAAAXZ-+"""++""+++++=++=++===++++=+===+++++++""++""++++++++++++++++++""""""+++++++++=""""++++""+++++"++
+                                   CC+++CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CC++CCCCCCCCCCCCCCCCCC++++++CCCCCCCCCC++++CCCC++CCCCC+CC
+                                     CCC  CC                              CC  CC                  CCCCCC          CCCC    CC     C
+
+
 AAAIAAAIIIIIIIIII=I===IIIIIIIIAAAXX-+""""""+++=+++++=++====+++=+==+++++++++"++"++"+++++++++++"++++++"""""++++++++=""""++++""+++"++++
+                                   CC++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC+CC+CCCCCCCCCCC+CCCCCC+++++CCCCCCCCC++++CCCC++CCC+CCCC
+                                     CCCCCC                                C  C  C           C      CCCCC         CCCC    CC   C
+
+
 IAIAAAIAIAIIII=IIIII=I==IIAIIIAXAAX-+""+""+++==++===++======++++++==+++++++"+""++"++++++=++++++++==+++"""+++++++==+"""++++"+"+++++""
+                                   CC++C++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++CC+CCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCC+++CCCC+C+CCCCC++
+                                     CC CC                                 C CC  C                    CCC          CCC    C C     CC
+
+
 AAIIIIAAIIII=I====II==IIIIIIIAAAAXX-"""""""++++++=+=++===+===+++++++++++++=+"""++"++++++=++++++++++=++"""+++"++++=""""+++"""++++""""
+                                   C+++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CC+CCCCCCCCCCCCCCCCCCCC+++CCC+CCCCC++++CCC+++CCCC++++
+                                    CCCCCCC                                 CCC  C                    CCC   C     CCCC   CCC    CCCC
+
+
 AAAIAAAAIIIIIIII=====I=IIIIIIIIIAAXZ+""""""+++++=+++++===++==++++++=++++++++"""""+++++++=+++++++++++++""""++++++++"""""+++""+++"""""
+                                    C++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++CCCCCCCCCCCCCCCCCCCCC++++CCCCCCCC+++++CCC++CCC+++++
+                                     CCCCCC                                 CCCCC                     CCCC        CCCCC   CC   CCCCC
+
+
 AIAAAAAIAIIIIIIII==I=IIIIIIIIIIIAAAX="""""""+++++++=++==+++===+++++++++++++++"""+++"++++==++++++++++"++"""++++++++"""""+++"""++"""""
+                                    C+++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCC+CCCCCCCCCCCCCCCC+CC+++CCCCCCCC+++++CCC+++CC+++++
+                                     CCCCCCC                                 CCC   C                C  CCC        CCCCC   CCC  CCCCC
+
+
 AAIAAAAAIIIAIIIIIIIII=IIIIIIIAAIAAAX-""""""+++=+++++++=+=++++=++==+++=++++++++"++++++"+===+++++++++++++"""++++++++""""+++++""+""""""
+                                    C++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCC+CCCCCCCCCCCCCCCCC+++CCCCCCCC++++CCCCC++C++++++
+                                     CCCCCC                                   C      C                 CCC        CCCC     CC CCCCCC
+
+
 AAAAAAAAAIIII=IIIIIIIIIIIIIIIIAAAAAXX+""""""+++++++++++++++++=+++=++++++"""""""++++++"++==+++++++++++++""""+++++++"""""+++"++"""+"""
+                                     C++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++++CCCCCC+CCCCCCCCCCCCCCCCC++++CCCCCCC+++++CCC+CC+++C+++
+                                      CCCCCC                            CCCCCCC      C                 CCCC       CCCCC   C  CCC CCC
+
+
 AAAAAAIAAIIIIIIIIIII=IIIIIIIIIIAAAAAAM+""""+++++++++""+++++=+=++++++++++""""+"""+++++++++=++++++++++++++"+"+++++++""""++"++++"""""""
+                                      C++++CCCCCCCCC++CCCCCCCCCCCCCCCCCC++++C+++CCCCCCCCCCCCCCCCCCCCCCCC+C+CCCCCCC++++CC+CCCC+++++++
+                                       CCCC         CC                  CCCC CCC                        C C       CCCC  C    CCCCCCC
+
+
 AAAAAAAAAAAIIAIIIIIIIIIIAIIAAAIAAAAAA-+"""""+"++++++++++++===+++++++++"""+""+"""+++++++++==++++++=+++++++""++++++=""""++"+++++"""+"+
+                                     CC+++++C+CCCCCCCCCCCCCCCCCCCCCCCC+++C++C+++CCCCCCCCCCCCCCCCCCCCCCCCC++CCCCCCC++++CC+CCCCC+++C+C
+                                       CCCCC C                        CCC CC CCC                         CC       CCCC  C     CCC C
+
+
 AXXAAAAAAAAIIIAIIIII=IIIIIIIIAIAAAAAAXM""""""+++++++++++++==+++++=+++"""""++++"++++++++++=++"++++++++++++++++++"++""=""+++++++"+"""+
+                                       ++++++CCCCCCCCCCCCCCCCCCCCCCCC+++++CCCC+CCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCC+CC++C++CCCCCCC+C+++C
+                                       CCCCCC                        CCCCC    C             C                  C  CC CC       C CCC
+
+
 XXXXXAAAAAXAAIIIIIIIIIIAIIIAIAIAIIAAAAZ+""""+"++++++++=++++==+""++++++"""++"+""++++++++++=+++++++=+++++++"""++""++""""++++"+++""""""
+                                       C++++C+CCCCCCCCCCCCCCCC++CCCCCC+++CC+C++CCCCCCCCCCCCCCCCCCCCCCCCCC+++CC++CC++++CCCC+CCC++++++
+                                        CCCC C                CC      CCC  C CC                          CCC  CC  CCCC    C   CCCCCC
+
+
 ZXXXXXAXAAAAAIIIIIIIIIIIIIIIAIAAIAAAAAAM"""++"+++++++++=+++++++""++++++"+++++""++++++++++=+++++++++=++++""""+++""+""""+++""+++"+""""
+                                        +++CC+CCCCCCCCCCCCCCCCC++CCCCCC+CCCCC++CCCCCCCCCCCCCCCCCCCCCCCCC++++CCC++C++++CCC++CCC+C++++
+                                        CCC  C                 CC      C     CC                         CCCC   CC CCCC   CC   C CCCC
+
+
 ZZXXXXAXAAAAAIIAIIIIIIIIIIIIIAIAAAAAAAXZ+"""+"+"+++++++=++++++++"++++"""+++++"""+++++++++==++++++++++++++"++++""++""""++++"+++"+++""
+                                        C+++C+C+CCCCCCCCCCCCCCCC+CCCC+++CCCCC+++CCCCCCCCCCCCCCCCCCCCCCCCC+CCCC++CC++++CCCC+CCC+CCC++
+                                         CCC C C                C    CCC     CCC                         C    CC  CCCC    C   C   CC
+
+
 ZXXXZXXXAAXAAAAAAII=IIIIIIIAIIAAAAAAAAAAM"""+"+""+++++++++++++++++"++""++++++""++++++++++==+++++++++++++++++++++++""""++++++++++++++
+                                         +++C+C++CCCCCCCCCCCCCCCCC+CC++CCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCCCCC
+                                         CCC C CC                 C  CC      CC                                   CCCC
+
+
 ZZZZXXXXXXXAAAAAAAAIIIIAIAIAAAAAAAAXXAAAZ+""""""+++++++++++++++++++++""++++""""+++++++=====++++++=+=+++++++++++"++""""+++++++++++++"
+                                         C++++++CCCCCCCCCCCCCCCCCCCCC++CCCC++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++++CCCCCCCCCCCCC+
+                                          CCCCCC                     CC    CCCC                                C  CCCC             C
+
+
 -ZZZXXXZXXXXAAAAAAAIIIIIIAIIIAAAAAAXAAAAXM"""""""+++++++++++++++++++++""++""""""++++++++===++++++=+=++++++++++""++""""+++++++++++++"
+C                                         +++++++CCCCCCCCCCCCCCCCCCCCC++CC++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++CC++++CCCCCCCCCCCCC+
+                                          CCCCCCC                     CC  CCCCCC                              CC  CCCC             C
+
+
 --ZZXZZZXXXXAAAAXAAAIIIIAIIIAAIAAAAXAAAAXZ=""""""+++++++++++++++++++++"++"""""""++++++++++=++++++=+=++++++++++++==+"""+=++++=+++++""
+CC                                        C++++++CCCCCCCCCCCCCCCCCCCCC+CC+++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCC++
+                                           CCCCCC                     C  CCCCCCC                                   CCC            CC
+
+
 --ZZZXZXXXXXXAXAAAAIAAAIIIIIIIIIAAAAAAAAAXZ++"+"+++++"++++++MZ+++""++++++""""""+++++++"+===+++++====+++++++"+++++=+"""++++++++++=+++
+CC                                         CC+C+CCCCC+CCCCCC  CCC++CCCCCC++++++CCCCCCC+CCCCCCCCCCCCCCCCCCCC+CCCCCCC+++CCCCCCCCCCCCCC
+                                             C C     C           CC      CCCCCC       C                    C       CCC
+
+
 M--Z-ZZZXXZXXXXAXAAAAAAIAIIAIIAAAAAAAIAAXXAM""""+"+++++""+-++++++""++++++"""""++++++++++===+++++====++++++++++++==+"""+=++++++++=+++
+ CC C                                       ++++C+CCCCC++CCCCCCCC++CCCCCC+++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCCCCCCCCCCCC
+                                            CCCC C     CC        CC      CCCCC                                     CCC
+
+
 M----ZZZZXZXXXXAXXXAAAIAAAIAIIAAAIAAAIAAXAXZ+""""+"+"++"+"+++++++++++"+++"""""""++++++++====+======+++++++++++"++=+"""==++++++++++++
+ CCCC                                       C++++C+C+CC+C+CCCCCCCCCCC+CCC+++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC+++CCCCCCCCCCCCCC
+                                             CCCC C C  C C           C   CCCCCCC                              C    CCC
+
+
 M-M---ZZZZZXXXXXXXXAAAAIIAAAIIAAAAAAAAAAXXXX-"""""""+"+""+++++"++++++"+++"""++""+++++++=++=+++++===+++++++++++++++""""+=+++++++++++"
+ C CCC                                      C+++++++C+C++CCCCC+CCCCCC+CCC+++CC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCCCC+
+                                             CCCCCCC C CC     C      C   CCC  CC                                  CCCC             C
+
+
 M--------ZXZXXXXXXXAAAAAIAIIIIIAAAIAAAAAXAAAX=""""""++++"++++""+++++""+++"""+++++++=+++=====++=====+++++==+++++++=""""+==++++++++++"
+ CCCCCCCC                                    C++++++CCCC+CCCC++CCCCC++CCC+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCCCCC+
+                                              CCCCCC    C    CC     CC   CCC                                      CCCC             C
+
+
 MM------ZZZZXXXXXXAXAAAAAAAAAAAAIAIAAAAIAAAAXZ=""""+"""""+++"""+"+""""""+"""++++++++++++++=+==+++==++++++++++++++=+""""++++++++++"""
+  CCCCCC                                      C++++C+++++CCC+++C+C++++++C+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCCCCCCC+++
+                                               CCCC CCCCC   CCC C CCCCCC CCC                                       CCCC          CCC
+
+
 MMM-----ZZZZXXXXXXXXAAAAAAAAAAAIIIIIIIIIAI=AAAZ+""""+""""++""""++++"""+"""""+++++++++++++==++++++==+++++++++++++++"""""++++++++"+""+
+   CCCCC                                       C++++C++++CC++++CCCC+++C+++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++++CCCCCCCC+C++C
+                                                CCCC CCCC  CCCC    CCC CCCCC                                      CCCCC        C CC
+
+
 MMM------ZZZZZXXXXXXAAAAAAIAAIIIIIIAIIIIIIIAAAA-"""""""""++""+""+++"""""""""++++"+++++++==++++++++++++=+++++++++++""""+++++"++""""""
+   CCCCCC                                      C+++++++++CC++C++CCC+++++++++CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCCCC+CC++++++
+                                                CCCCCCCCC  CC CC   CCCCCCCCC    C                                 CCCC     C  CCCCCC
+
+
 MMMMM-----ZZZXXXXXXXAXAAAAIAIAIIIIIIIII=I=IIIIAXM"""""""++""+"+++++++"+"+""++++"+++++++====++++++=+++=++++=+++++==+"""++++""++++++"+
+     CCCCC                                       +++++++CC++C+CCCCCCC+C+C++CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCC++CCCCCC+C
+                                                 CCCCCCC  CC C       C C CC    C                                   CCC    CC      C
+
+
 M-MM----ZZZZZZXZXXXXXAAAAIAAAAIIII=I====IIIIIIAAZ="""""+"+"+"""""""++"+""""+++"+++++++++++++"++"+++++++++++++"++=+""""++++"++"""""""
+ C  CCCC                                         C+++++C+C+C+++++++CC+C++++CCC+CCCCCCCCCCCCC+CC+CCCCCCCCCCCCC+CCCC++++CCCC+CC+++++++
+                                                  CCCCC C C CCCCCCC  C CCCC   C             C  C             C    CCCC    C  CCCCCCC
+
+
 MMM---ZZZZZZZZXZXXXXXXAAAAIAIAAIII=======I===IIAAX="""++"+"""""""""++"++"""++"++++++++++=++++++++++++++++++++"++++""-"+++++++"""""""
+   CCC                                            C+++CC+C+++++++++CC+CC+++CC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCC++.+CCCCCCC+++++++
+                                                   CCC  C CCCCCCCCC  C  CCC  C                               C    CC'C       CCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 MMMM----ZZZZZZZZXXXXXXXAAAIAIIAIIII==========IIAAIZ+"""""""""""+""""""++""+++++++++++++==+=+"+++++++++++++++++++++""-""+++++""""""""
+    CCCC                                           C+++++++++++C++++++CC++CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCC++.++CCCCC++++++++
+                                                    CCCCCCCCCCC CCCCCC  CC                  C                     CC'CC     CCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 MM-M---Z-ZZZXZXXXXXXXAAAAAIIAIIIII==+======+===IIIIZ+"""""+""""""""""++++"+++"++++=++++===+++"+"+=++++++++=++++++=""""+++++"""""""""
+  C CCC C                                           C+++++C++++++++++CCCC+CCC+CCCCCCCCCCCCCCC+C+CCCCCCCCCCCCCCCCCC++++CCCCC+++++++++
+                                                     CCCCC CCCCCCCCCC    C   C               C C                  CCCC     CCCCCCCCC
+
+
 M-------ZZZZZXXXXXXAAAAAAAAAAIIIII=I===========IIAAA-"""""""""""""""""""""+++++++++++++==+++++++"++"+++++++++++++=+"""+++"""""""""""
+ CCCCCCC                                            C+++++++++++++++++++++CCCCCCCCCCCCCCCCCCCCCC+CC+CCCCCCCCCCCCCCC+++CCC+++++++++++
+                                                     CCCCCCCCCCCCCCCCCCCCC                      C  C               CCC   CCCCCCCCCCC
+
+
 M------ZZZZXXXZXXXXXXAAAAXAAAIIIII====+=====+==IIIIIX=""""""""+""+""""""""+++++++++++++===+++++++++++++++++++=+++=""-""++"""""""""""
+ CCCCCC                                              C++++++++C++C++++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++.++CC+++++++++++
+                                                      CCCCCCCC CC CCCCCCCC                                        CC'CC  CCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 M------ZZZZZZZZXXXXXXXXAAAAAIIIIIII=====++=+=+=I=IIIAZ+"""""""+""++""""+""++++++++++++===+++++++++++++++++++++++++""-""+""""""""+"""
+ CCCCCC                                               C+++++++C++CC++++C++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++.++C++++++++C+++
+                                                       CCCCCCC CC  CCCC CC                                        CC'CC CCCCCCCC CCC
+                                                                                                                    X
+                                                                                                                    C
 -Z--ZZ--ZZZZZXZXXXXXXXAAAAAIIIIIIIII===++1+==++===IIIA-+""+"""++""""""++""""+"+++++++++==+++"+++++++++++++"++====+"""""++"""""""""""
+C CC  CC                                              CC++C+++CC++++++CC++++C+CCCCCCCCCCCCCC+CCCCCCCCCCCCC+CCCCCCC+++++CC+++++++++++
+                                                        CC CCC  CCCCCC  CCCC C              C             C       CCCCC  CCCCCCCCCCC
+
+
 M-----Z-ZZZZXZZXXXXXXXAXXAAAAAIAII===I===++=======IIIAA-""""""++"""""+"""""""+++"+++++++++++++++++++++++++++++++==""""""""""""""""""
+ CCCCC C                                               C++++++CC+++++C+++++++CCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++++++++++++++++
+                                                        CCCCCC  CCCCC CCCCCCC   C                                 CCCCCCCCCCCCCCCCCC
+
+
 -----ZZZ-ZZZZZZXXXXXXXXXXAAAIAIII=I======+==+=+=====IIAA="""""+""""++"+""""""++++++++""++++++++++=++++++++++++++++"""""+""""""+"""""
+CCCCC   C                                               C+++++C++++CC+C++++++CCCCCCCC++CCCCCCCCCCCCCCCCCCCCCCCCCCC+++++C++++++C+++++
+                                                         CCCCC CCCC  C CCCCCC        CC                           CCCCC CCCCCC CCCCC
+
+
 -----Z--ZZZZZZZZXXXXXXAXXAAAAIIIIIII=====+==+========IAIX+"""""""""++""""""""+++++++++"++++++++++++++++"++"+++++++"""""+"""+""+"""""
+CCCCC CC                                                 C+++++++++CC++++++++CCCCCCCCC+CCCCCCCCCCCCCCCC+CC+CCCCCCC+++++C+++C++C+++++
+                                                          CCCCCCCCC  CCCCCCCC         C                C  C       CCCCC CCC CC CCCCC
+
+
 ------ZZZZZZXZXZAXXAXXAAAAAAIAAAII=I==+==+=+++==++====AIA-+""""""""++""""+"++++++++++++++=+++"+++++++++++++=+++++"""-""+++""""""""""
+CCCCCC                                                   CC++++++++CC++++C+CCCCCCCCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCC+++.++CCC++++++++++
+                                                           CCCCCCCC  CCCC C                  C                   CCC'CC   CCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 ----ZZZZZZZXZZZXXXXAXXAAAAIXAIAIIIII==++=+=+++++=====+I=IAM"""""""+"++""""""+++++"+++++++++++""++++++++"++++++++++""-""++"""""""""""
+CCCC                                                       +++++++C+CC++++++CCCCC+CCCCCCCCCCC++CCCCCCCC+CCCCCCCCCC++.++CC+++++++++++
+                                                           CCCCCCC C  CCCCCC     C           CC        C          CC'CC  CCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 ----ZZZZZZZXZZZXZXXXXXAXAAAAAAIIIII====++=++++===+++===IIIX+""""""++""""""""+"++++++++++++++""+"++++++""""++++++++"""""++"""+"""""""
+CCCC                                                       C++++++CC++++++++C+CCCCCCCCCCCCCC++C+CCCCCC++++CCCCCCCC+++++CC+++C+++++++
+                                                            CCCCCC  CCCCCCCC C              CC C      CCCC        CCCCC  CCC CCCCCCC
+
+
 M----ZZZZZZXXZZXZXXXXXAXAAAAAIIIIII=======+=+++==+=+====III-"""""""""+""""""""+++"+++"+=+++++++"+++++++"++"+++++++"""""+++"""+""""""
+ CCCC                                                      C+++++++++C++++++++CCC+CCC+CCCCCCCCC+CCCCCCC+CC+CCCCCCC+++++CCC+++C++++++
+                                                            CCCCCCCCC CCCCCCCC   C   C         C       C  C       CCCCC   CCC CCCCCC
+
+
 ---ZZZZZZZZZZZXXXXXXXAXAAAIAAAIII=II====+=+=+++++++=+==III=A="""""""""""""+"+"++++++++==+++++++++=+++++++++++++++"+""""+++"++"""""""
+CCC                                                         C+++++++++++++C+C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+C++++CCC+CC+++++++
+                                                             CCCCCCCCCCCCC C C                                   C CCCC   C  CCCCCCC
+
+
 ----ZZZZZZZZZXZZXZXXXXXAAAIAAAIIIIII=+===++++++++++=+======IX+"""""""""""""++"+++"+++++=++++"+++++++++++++++++"++++"""+++"""""""""""
+CCCC                                                         C+++++++++++++CC+CCC+CCCCCCCCCC+CCCCCCCCCCCCCCCCC+CCCC+++CCC+++++++++++
+                                                              CCCCCCCCCCCCC  C   C          C                 C    CCC   CCCCCCCCCCC
+
+
 -ZZ--ZZZZZZZZXXZXXXXXAAAXAAAAAIAIIII========++++++=========II-+""""""""""++++"+++"++"+++++++"++++++++++++++=++""+++"""+++"""""""""""
+C  CC                                                        CC++++++++++CCCC+CCC+CC+CCCCCCC+CCCCCCCCCCCCCCCCC++CCC+++CCC+++++++++++
+                                                               CCCCCCCCCC    C   C  C       C                 CC   CCC   CCCCCCCCCCC
+
+
 -ZZ--ZZZZZZZZXZXXXXXXAXAAAAXAAAIIIII======+=++======++=+===IIAM""""""""""++"+"++"++++"++++++++=+++++++++++===++++++""""+++"++"""""""
+C  CC                                                          ++++++++++CC+C+CC+CCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC++++CCC+CC+++++++
+                                                               CCCCCCCCCC  C C  C    C                             CCCC   C  CCCCCCC
+
+
 --ZZZZZ-ZZXZXZXXXXXXXAAXAAIAAAIIII=I==I+===+++==+===+==+====1IA+""""""""""+++""+++++++++=++++++=+++=+++++++===+"+++"""++++"++"""""""
+CC     C                                                       C++++++++++CCC++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CCC+++CCCC+CC+++++++
+                                                                CCCCCCCCCC   CC                                C   CCC    C  CCCCCCC
+
+
 ---ZZZZZZZZXZXXXZXXXXXXAXAAAAAAAIAII=========++===+=+======IIIAM""""""""""+""""++++++"++=+++++==+++++++++=++==+++++"""++++""+"""""""
+CCC                                                             ++++++++++C++++CCCCCC+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC+++CCCC++C+++++++
+                                                                CCCCCCCCCC CCCC      C                             CCC    CC CCCCCCC
+
+
 ---ZZZZZZZZZZZXXXXXXXXXAAAAAAAIIIIII========+=+===+=+=======IIIX="""""""""+"+"""++++++++++++"++++=+++++++==++=+++++""""++""""+""""""
+CCC                                                             C+++++++++C+C+++CCCCCCCCCCCC+CCCCCCCCCCCCCCCCCCCCCC++++CC++++C++++++
+                                                                 CCCCCCCCC C CCC            C                      CCCC  CCCC CCCCCC
+
+
 --Z-ZZZZZXZZZXZZXXXXXXXAAAAAAAAI=IIII=====++++==+===+=I=I===IAIAZ"""""""++""""""++++++++==+++++++++++++++++++++"++""-"+++"""""""""""
+CC C                                                             +++++++CC++++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+CC++.+CCC+++++++++++
+                                                                 CCCCCCC  CCCCCC                               C  CC'C   CCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 -ZZZZZZZZXXXXXXXXXXXXAAAAAAAAAAAIIII====I==++===+=+=+====IIIIIIIIM"""""+++"""""+++++++===+++++===+=+++++++++++++++""-"""+"+"""""""""
+C                                                                 +++++CCC+++++CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC++.+++C+C+++++++++
+                                                                  CCCCC   CCCCC                                   CC'CCC C CCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 --ZZZXZZZZXXXXXXXXXXXAAA=AAAAAAAIIIIIII=======+++=++=======IIIAIAZ"""""""""""""+++++++++++++++=+++++++++++"+++++++"--"""""""""""""""
+CC                                                                +++++++++++++CCCCCCCCCCCCCCCCCCCCCCCCCCC+CCCCCCC+..+++++++++++++++
+                                                                  CCCCCCCCCCCCC                           C       C''CCCCCCCCCCCCCCC
+                                                                                                                   XX
+                                                                                                                   CC
 ZZZZZZZXXZXXXXXXXXXXAAAAAAAAAAAAAIIIII====+===+++========I==IIAAAX+"""""""""""""+++"+++==++++++++"+++++++""++++"++""-"""""""""""""""
+                                                                  C+++++++++++++CCC+CCCCCCCCCCCCC+CCCCCCC++CCCC+CC++.+++++++++++++++
+                                                                   CCCCCCCCCCCCC   C             C       CC    C  CC'CCCCCCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 ZZZZZZXZZZXXZXXXXXAXXAAAIAAAAAAAAIIII=II======+=============IIAIAA-""""+++""+""++++"+++-==+++++"+""""+"""""+++""++"""""+"""""""""""-
+                                                                  C++++CCC++C++CCCC+CCCCCCCCCCC+C++++C+++++CCC++CC+++++C+++++++++++.
+                                                                   CCCC   CC CC    C           C CCCC CCCCC   CC  CCCCC CCCCCCCCCCC'
+                                                                                                                                   X
+                                                                                                                                   C
 ZZZXZZZZXXXXXXXXAXAAAAAAAAAAAAAAIII==I=I======+==+++=======IIIAIAAX+""++""+++++++++++++=+=+++=+"""+""+""""++++""++""-"+++"""""""""""
+                                                                   C++CC++CCCCCCCCCCCCCCCCCCCCC+++C++C++++CCCC++CC++.+CCC+++++++++++
+                                                                    CC  CC                     CCC CC CCCC    CC  CC'C   CCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 ZZZZZZZZZZXXXXXAAAXAAAXAIIAAAAIIAAIIIII=====+==++=====++==IIIIAIIAX-+""+++"+++=++++=++==++"""++""""+""+""""++"""++""-"""""""""""""""
+                                                                   CC++CCC+CCCCCCCCCCCCCCC+++CC++++C++C++++CC+++CC++.+++++++++++++++
+                                                                     CC   C               CCC  CCCC CC CCCC  CCC  CC'CCCCCCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 ZZXXZZXZXZXXXXXXAAXAAAAAAAIAAAAIIIIIII=======+=++=====+=====IIIIIAAX+""++""+++=++"""+++=++"""++"""""""""""""++"+++"-"""+""""""""""""
+                                                                    C++CC++CCCCCC+++CCCCCC+++CC+++++++++++++CC+CCC+.+++C++++++++++++
+                                                                     CC  CC      CCC      CCC  CCCCCCCCCCCCC  C   C'CCC CCCCCCCCCCCC
+                                                                                                                   X
+                                                                                                                   C
 ZZZZZZXZXXZXXXXXAAAAAAAAAAAAAAAIIIIII=I=========+==============IAAAX=""""""""""+""""+++++++""++"""+"""++""""++"+++"-"""++"""""""""""
+                                                                    C++++++++++C++++CCCCCCC++CC+++C+++CC++++CC+CCC+.+++CC+++++++++++
+                                                                     CCCCCCCCCC CCCC       CC  CCC CCC  CCCC  C   C'CCC  CCCCCCCCCCC
+                                                                                                                   X
+                                                                                                                   C
 XZZXXXXXXXXAAAXAXAAAAAAAIIIAIAIIIIIII======I=+++=+++==+=+=====IIAAAA-"""+"""""""""""+""+++"""++""""+""++"""""""+++""-""++"""""""""""
+                                                                    C+++C+++++++++++C++CCC+++CC++++C++CC+++++++CCC++.++CC+++++++++++
+                                                                     CCC CCCCCCCCCCC CC   CCC  CCCC CC  CCCCCCC   CC'CC  CCCCCCCCCCC
+                                                                                                                    X
+                                                                                                                    C
 XZZZXXXXXXXAAAXAAAAAAAIAAAAAIIAAIIII==III===+++==============IIAIAXX-+"""""""""""""""""++"""+""""+"""+++""""""+"++"""""++"""""""""""
+                                                                    CC+++++++++++++++++CC+++C++++C+++CCC++++++C+CC+++++CC+++++++++++
+                                                                      CCCCCCCCCCCCCCCCC  CCC CCCC CCC   CCCCCC C  CCCCC  CCCCCCCCCCC
+
+
 XXXXXXXXXXXAAAXAAAAAAAAAAAAAIAAAIIII======+=+=+=========I==I=IIIIAXXX+""--""""""""""""+++"""""""""""""++"+""""+"++"""""+""""""""""""
+                                                                     C++..++++++++++++CCC+++++++++++++CC+C++++C+CC+++++C++++++++++++
+                                                                      CC''CCCCCCCCCCCC   CCCCCCCCCCCCC  C CCCC C  CCCCC CCCCCCCCCCCC
+                                                                        XX
+                                                                        CC
 XZXXXXXXXXXXXAAAAAAAAAAAAAIIAAIAIIII=======================I==IIIIXAXM""""""""""""""""+++"""""""""""+"""+""+"++"++""""""""""""""""""
+                                                                      ++++++++++++++++CCC+++++++++++C+++C++C+CC+CC++++++++++++++++++
+                                                                      CCCCCCCCCCCCCCCC   CCCCCCCCCCC CCC CC C  C  CCCCCCCCCCCCCCCCCC
+
+
 XZZXXXXAAAXAXXAAAAAAAAAIAAIIIII=II=I===============+===I======IIIAAAX-"-""""""""""""""""""""""+""""""+""+""++""++=""""++""""""""""""
+                                                                     C+.++++++++++++++++++++++C++++++C++C++CC++CCC++++CC++++++++++++
+                                                                      C'CCCCCCCCCCCCCCCCCCCCCC CCCCCC CC CC  CC   CCCC  CCCCCCCCCCCC
+                                                                       X
+                                                                       C
 XXXXXXAAXXXAXAAAAAAAAAIAAIIIAIIIIIII===I========+==+=========IIIIAAAAZ""""""""""""""="""""""""""""""""""""++"""++++"""++""""""""""""
+                                                                      ++++++++++++++C+++++++++++++++++++++CC+++CCCC+++CC++++++++++++
+                                                                      CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCC  CCC    CCC  CCCCCCCCCCCC
+
+
 XXXXAAAAAAAAAAAAAAAAAAIIIIIIIIIIIIIIII=====++=++====+=========IIIIAAAX+-""""""""""""""+"""""""+"""""""""""++++++++"""""+++""""""""""
+                                                                      C.++++++++++++++C+++++++C+++++++++++CCCCCCCC+++++CCC++++++++++
+                                                                       'CCCCCCCCCCCCCC CCCCCCC CCCCCCCCCCC        CCCCC   CCCCCCCCCC
+                                                                       X
+                                                                       C
 AXXXAAAAAAAXAXAIAAAAIIII=IIIIIIIIII=II===I====+=====+===+======IIIIAAXM"-""""""""""""+""""""+""""""""""""""+++++++"-"""++"""""""""""
+                                                                       +.++++++++++++C++++++C++++++++++++++CCCCCCC+.+++CC+++++++++++
+                                                                       C'CCCCCCCCCCCC CCCCCC CCCCCCCCCCCCCC       C'CCC  CCCCCCCCCCC
+                                                                        X                                          X
+                                                                        C                                          C
 AXXAAAAAAAAAIAIIAIIAIIIIII1IIIIIII=====+=====+==================IIIIAA-"--"""""""+++"++""""""+"+"""""++"""+""+"+++""""++++""+"""""""
+                                                                      C+..+++++++CCC+CC++++++C+C+++++CC+++C++C+CCC++++CCCC++C+++++++
+                                                                       C''CCCCCCC   C  CCCCCC C CCCCC  CCC CC C   CCCC    CC CCCCCCC
+                                                                        XX
+                                                                        CC
 AAAAAAAAIAIAIAAAIIAIIIIII1+I==III=II=======+============+=========I=IAZ"--""""""+++"+"+""""""""""""""++""""""""+++"--""++""""+""+"""
+                                                                       +..++++++CCC+C+C++++++++++++++CC++++++++CCC+..++CC++++C++C+++
+                                                                       C''CCCCCC   C C CCCCCCCCCCCCCC  CCCCCCCC   C''CC  CCCC CC CCC
+                                                                        XX                                         XX
+                                                                        CC                                         CC
 XAAAAAAAAAIIIIIIIIIIIIII======III==II=======++++=++=+==++=+++======IIIX+"-""""""++=++"++"""""""""""""++""""""""++="""-"""""""""+""""
+                                                                       C+.++++++CCCCC+CC+++++++++++++CC++++++++CCC+++.+++++++++C++++
+                                                                        C'CCCCCC     C  CCCCCCCCCCCCC  CCCCCCCC   CCC'CCCCCCCCC CCCC
+                                                                         X                                           X
+                                                                         C                                           C
 AAAAAAAIIIIIIIIIIII=IIII=====II===IIII=======+++====+++++++++=++++===IA=""""++""""+++"++"""""""""+"""+"""+""""++++"""""+++""""++"+"+
+                                                                       C++++CC++++CCC+CC+++++++++C+++C+++C++++CCCC+++++CCC++++CC+C+C
+                                                                        CCCC  CCCC   C  CCCCCCCCC CCC CCC CCCC    CCCCC   CCCC  C C
+
+
 IIAIIIIIIIIIIIII===IIII+=====I==I===I=====++=+++==+1+++11+11++1+1++++=IM"""""""""""+++++"""+"+"""+"""+=""+=M-+M--Z-MM-----=MZ-XMMMM=
+                                                                        +++++++++++CCCCC+++C+C+++C+++CC++CC CC CC C  CCCCCC  C     C
+                                                                        CCCCCCCCCCC     CCC C CCC CCC  CC
+
+
 AIIIAIII=IIIIIII==IIII=+=====+===I+===+====+++1+++++1+11111111+1111111+A====M=MMMM---MMMM=M-=MM=M==+==++++""""""""----""""--"-----"-
+                                                                        CCCC C    CCC    C CC  C CCCCCCCCC++++++++....++++..+.....+.
+                                                                                                          CCCCCCCC''''CCCC''C'''''C'
+                                                                                                                  XXXX    XX XXXXX X
+                                                                                                                  CCCC    CC CCCCC C
 AI==III=+===+=++=+=====+==+==1+=+=1=++1+++++11111-11-1--11-------1--111A""--""""""+""""""""""""--"-""-------""-"""----"""-------"---
+                                                                        ++..++++++C++++++++++++..+.++.......++.+++....+++.......+...
+                                                                        CC''CCCCCC CCCCCCCCCCCC''C'CC'''''''CC'CCC''''CCC'''''''C'''
+                                                                          XX                   XX X  XXXXXXX  X   XXXX   XXXXXXX XXX
+                                                                          CC                   CC C  CCCCCCC  C   CCCC   CCCCCCC CCC
 =++++++==++++==+=======I=====+=++++++=++++++1++++111-1-11-1--1-----1---=+---"--""""""""""-"""------"--"--"---""-""------"-----------
+                                                                        C...+..++++++++++.+++......+..+..+...++.++......+...........
+                                                                         '''C''CCCCCCCCCC'CCC''''''C''C''C'''CC'CC''''''C'''''''''''
+                                                                         XXX XX          X   XXXXXX XX XX XXX  X  XXXXXX XXXXXXXXXXX
+                                                                         CCC CC          C   CCCCCC CC CC CCC  C  CCCCCC CCCCCCCCCCC
 IAII=I=IIIII====+===+=====++++===+=+++1++++111111---------------  - ---1=---"-""""""""""--"""-""""-""---""-""""-""""---"-"----------
+                                                                        C...+.++++++++++..+++.++++.++...++.++++.++++...+.+..........
+                                                                         '''C'CCCCCCCCCC''CCC'CCCC'CC'''CC'CCCC'CCCC'''C'C''''''''''
+                                                                         XXX X          XX   X    X  XXX  X    X    XXX X XXXXXXXXXX
+                                                                         CCC C          CC   C    C  CCC  C    C    CCC C CCCCCCCCCC
 AII==========+=+==+++=+++++++=++++++++11+111111----------            --1Z---"""-"""""""-----"-"----""------"""-""""----"------------
+                                                                         ...+++.+++++++.....+.+....++......+++.++++....+............
+                                                                         '''CCC'CCCCCCC'''''C'C''''CC''''''CCC'CCCC''''C''''''''''''
+                                                                         XXX   X       XXXXX X XXXX  XXXXXX   X    XXXX XXXXXXXXXXXX
+                                                                         CCC   C       CCCCC C CCCC  CCCCCC   C    CCCC CCCCCCCCCCCC
 III======+==+++++++++++++++++++=++++++1111111-1-------- --   -       - -A"--"--""""""""-----"------""------"""""""-----"------------
+                                                                         +..+..++++++++.....+......++......+++++++.....+............
+                                                                         C''C''CCCCCCCC'''''C''''''CC''''''CCCCCCC'''''C''''''''''''
+                                                                          XX XX        XXXXX XXXXXX  XXXXXX       XXXXX XXXXXXXXXXXX
+                                                                          CC CC        CCCCC CCCCCC  CCCCCC       CCCCC CCCCCCCCCCCC
 I=======+=+=++++++++1+1+++++++++++++++1-1111--1------   -               =+-----""""""""---"-"-------"----"-"""""""---------"--------
+                                                                         C.....++++++++...+.+.......+....+.+++++++.........+........
+                                                                          '''''CCCCCCCC'''C'C'''''''C''''C'CCCCCCC'''''''''C''''''''
+                                                                          XXXXX        XXX X XXXXXXX XXXX X       XXXXXXXXX XXXXXXXX
+                                                                          CCCCC        CCC C CCCCCCC CCCC C       CCCCCCCCC CCCCCCCC
 ==+++=+++++++++++++111111++++1++++++11111-11----- ----                  -=-----""""""""""-"""--"""---""""-"""--"""-----"---"---"---"
+                                                                         C.....++++++++++.+++..+++...++++.+++..+++.....+...+...+...+
+                                                                          '''''CCCCCCCCCC'CCC''CCC'''CCCC'CCC''CCC'''''C'''C'''C'''C
+                                                                          XXXXX          X   XX   XXX    X   XX   XXXXX XXX XXX XXX
+                                                                          CCCCC          C   CC   CCC    C   CC   CCCCC CCC CCC CCC
 =++++++++++1+1+1++111111++1+1111+1+11111-11---- --- -- -     -         --------""--"""""--""-"-----"-"""-""""""""""-----------------
+                                                                         C.....++..+++++..++.+.....+.+++.++++++++++.................
+                                                                          '''''CC''CCCCC''CC'C'''''C'CCC'CCCCCCCCCC'''''''''''''''''
+                                                                          XXXXX  XX     XX  X XXXXX X   X          XXXXXXXXXXXXXXXXX
+                                                                          CCCCC  CC     CC  C CCCCC C   C          CCCCCCCCCCCCCCCCC
 ==++++1+1+1++11111111111111+11111111111111--------  ---             -  --A"-----""""""""----"-"-""-"--""-""""""""""----""---------"-
+                                                                          +.....++++++++....+.+.++.+..++.++++++++++....++.........+.
+                                                                          C'''''CCCCCCCC''''C'C'CC'C''CC'CCCCCCCCCC''''CC'''''''''C'
+                                                                           XXXXX        XXXX X X  X XX  X          XXXX  XXXXXXXXX X
+                                                                           CCCCC        CCCC C C  C CC  C          CCCC  CCCCCCCCC C
 +=+++++++++111+11111111111-1111+1111111-1--- ------ --             -   --=+---------""""----"""---""""""-"""""""""----------"----"--
+                                                                          C.........++++....+++...++++++.+++++++++..........+....+..
+                                                                           '''''''''CCCC''''CCC'''CCCCCC'CCCCCCCCC''''''''''C''''C''
+                                                                           XXXXXXXXX    XXXX   XXX      X         XXXXXXXXXX XXXX XX
+                                                                           CCCCCCCCC    CCCC   CCC      C         CCCCCCCCCC CCCC CC
 +++++111+11+11111111111-1-11--11111--1------- -  -       -    -  -       1=---"""--"""---"--""-"---"""""""""""""""-----"-""---"--"-"
+                                                                          C...+++..+++...+..++.+...+++++++++++++++.....+.++...+..+.+
+                                                                           '''CCC''CCC'''C''CC'C'''CCCCCCCCCCCCCCC'''''C'CC'''C''C'C
+                                                                           XXX   XX   XXX XX  X XXX               XXXXX X  XXX XX X
+                                                                           CCC   CC   CCC CC  C CCC               CCCCC C  CCC CC C
 ++++++111111+1111111111-1----11111--1-1-------------              --   ---------"-"""""--"---""------"""""""""-"-"-------"-"----"---
+                                                                          C.....+.+++++..+...++......+++++++++.+.+.......+.+....+...
+                                                                           '''''C'CCCCC''C'''CC''''''CCCCCCCCC'C'C'''''''C'C''''C'''
+                                                                           XXXXX X     XX XXX  XXXXXX         X X XXXXXXX X XXXX XXX
+                                                                           CCCCC C     CC CCC  CCCCCC         C C CCCCCCC C CCCC CCC
 ++++++++++111111111111-111-1111-----1-1-------------      --  -    -  ----Z-----"-"""""------""---------"--"""--"--------------""-"-
+                                                                           .....+.+++++......++.........+..+++..+..............++.+.
+                                                                           '''''C'CCCCC''''''CC'''''''''C''CCC''C''''''''''''''CC'C'
+                                                                           XXXXX X     XXXXXX  XXXXXXXXX XX   XX XXXXXXXXXXXXXX  X X
+                                                                           CCCCC C     CCCCCC  CCCCCCCCC CC   CC CCCCCCCCCCCCCC  C C
 ++++++++1+11111-111111--1111-11111111-11---1--------    -- --  -  -------1A"----"-"""""------""------"--""""-"----------"------""+--
+                                                                           +....+.+++++......++......+..++++.+..........+......++C..
+                                                                           C''''C'CCCCC''''''CC''''''C''CCCC'C''''''''''C''''''CC ''
+                                                                            XXXX X     XXXXXX  XXXXXX XX    X XXXXXXXXXX XXXXXX   XX
+                                                                            CCCC C     CCCCCC  CCCCCC CC    C CCCCCCCCCC CCCCCC   CC
 +++++++111111111---1111+-1---1-1--111-111----- - ---   -   -    -  ----11+=+---""--""""-"----""---""-""-"""""---"--------""-"--"""--
+                                                                           C...++..++++.+....++...++.++.+++++...+........++.+..+++..
+                                                                            '''CC''CCCC'C''''CC'''CC'CC'CCCCC'''C''''''''CC'C''CCC''
+                                                                            XXX  XX    X XXXX  XXX  X  X     XXX XXXXXXXX  X XX   XX
+                                                                            CCC  CC    C CCCC  CCC  C  C     CCC CCCCCCCC  C CC   CC
 +++1++11111111111111111111111-11-1111-1-111----1-------- -   --------11++=I=--"""-""""---"--------""""---"-------------"------------
+                                                                           C..+++.++++...+........++++...+.............+............
+                                                                            ''CCC'CCCC'''C''''''''CCCC'''C'''''''''''''C''''''''''''
+                                                                            XX   X    XXX XXXXXXXX    XXX XXXXXXXXXXXXX XXXXXXXXXXXX
+                                                                            CC   C    CCC CCCCCCCC    CCC CCCCCCCCCCCCC CCCCCCCCCCCC
 +++++1++11111-11111111111-1111-11111-11-111-----1-----       ----1-1+++===IM-----""""""-""---------""-----"---""--"----"""--"-------
+                                                                            .....++++++.++.........++.....+...++..+....+++..+.......
+                                                                            '''''CCCCCC'CC'''''''''CC'''''C'''CC''C''''CCC''C'''''''
+                                                                            XXXXX      X  XXXXXXXXX  XXXXX XXX  XX XXXX   XX XXXXXXX
+                                                                            CCCCC      C  CCCCCCCCC  CCCCC CCC  CC CCCC   CC CCCCCCC
 +1++111++1111111111-111111111111111111111------11-------      -11+++=+==IIA---"--"""""-"""----"--"--"------------""---------"-------
+                                                                           C..+..+++++.+++....+..+..+............++.........+.......
+                                                                            ''C''CCCCC'CCC''''C''C''C''''''''''''CC'''''''''C'''''''
+                                                                            XX XX     X   XXXX XX XX XXXXXXXXXXXX  XXXXXXXXX XXXXXXX
+                                                                            CC CC     C   CCCC CC CC CCCCCCCCCCCC  CCCCCCCCC CCCCCCC
 +++11+1+++111111+111111111-11---1111111-11-1---------------- 11+++====IIIIA-"-"---""--"-"-"--""-"""""""---""-"--"""----"------------
+                                                                           C+.+...++..+.+.+..++.+++++++...++.+..+++....+............
+                                                                            C'C'''CC''C'C'C''CC'CCCCCCC'''CC'C''CCC''''C''''''''''''
+                                                                             X XXX  XX X X XX  X       XXX  X XX   XXXX XXXXXXXXXXXX
+                                                                             C CCC  CC C C CC  C       CCC  C CC   CCCC CCCCCCCCCCCC
 ++++++1111111111-1-11111111111111-1111--1-----1-----1---1-1111+++==IIIIIIIAZ"--------"-"-"------""--"-"---""-----"------------------
+                                                                            +........+.+.+......++..+.+...++.....+..................
+                                                                            C''''''''C'C'C''''''CC''C'C'''CC'''''C''''''''''''''''''
+                                                                             XXXXXXXX X X XXXXXX  XX X XXX  XXXXX XXXXXXXXXXXXXXXXXX
+                                                                             CCCCCCCC C C CCCCCC  CC C CCC  CCCCC CCCCCCCCCCCCCCCCCC
 +++++1111111111111-1-1111-1-11111--11----1-1--1-1--1--11111+++====IIIIIAIIAZ"---"""--"---"-----""------""-""-----"----------"-------
+                                                                            +...+++..+...+.....++......++.++.....+..........+.......
+                                                                            C'''CCC''C'''C'''''CC''''''CC'CC'''''C''''''''''C'''''''
+                                                                             XXX   XX XXX XXXXX  XXXXXX  X  XXXXX XXXXXXXXXX XXXXXXX
+                                                                             CCC   CC CCC CCCCC  CCCCCC  C  CCCCC CCCCCCCCCC CCCCCCC
 +++++1+++1++11+11111111-11--11-111-1---1-11-1-111-1111111+1++====IIIIIIIAAXZ+-----"--"-"--------"----"-----"----""--------------"---
+                                                                            C.....+..+.+........+....+.....+....++..............+...
+                                                                             '''''C''C'C''''''''C''''C'''''C''''CC''''''''''''''C'''
+                                                                             XXXXX XX X XXXXXXXX XXXX XXXXX XXXX  XXXXXXXXXXXXXX XXX
+                                                                             CCCCC CC C CCCCCCCC CCCC CCCCC CCCC  CCCCCCCCCCCCCC CCC
 +1+1+1++111+-11111-11--1-----1--1111-1---11111111111++++++==+==IIIIIAAAIXXXX=-""--"---""""--------"-----"--"--"-"""------"-----"-""-
+                                                                            C.++..+...++++........+.....+..+..+.+++......+.....+.++.
+                                                                             'CC''C'''CCCC''''''''C'''''C''C''C'CCC''''''C'''''C'CC'
+                                                                             X  XX XXX    XXXXXXXX XXXXX XX XX X   XXXXXX XXXXX X  X
+                                                                             C  CC CCC    CCCCCCCC CCCCC CC CC C   CCCCCC CCCCC C  C
 +++++++++111111111-111111---111111---1111++11+1111+++=++=====IIIIIIAIAAAXAXX=-------"""------------"-"----""-----""----+-"-----"--""
+                                                                            C.......+++............+.+....++.....++....C.+.....+..++
+                                                                             '''''''CCC''''''''''''C'C''''CC'''''CC'''' 'C'''''C''CC
+                                                                             XXXXXXX   XXXXXXXXXXXX X XXXX  XXXXX  XXXX X XXXXX XX
+                                                                             CCCCCCC   CCCCCCCCCCCC C CCCC  CCCCC  CCCC C CCCCC CC
 +++++++++1111111111111-11---1111111--111111+1+1+++++=========IIIIIIAAAAAXXXZ=---------"""-"--------""---""""""---""--------------""+
+                                                                            C.........+++.+........++...++++++...++..............++C
+                                                                             '''''''''CCC'C''''''''CC'''CCCCCC'''CC''''''''''''''CC
+                                                                             XXXXXXXXX   X XXXXXXXX  XXX      XXX  XXXXXXXXXXXXXX
+                                                                             CCCCCCCCC   C CCCCCCCC  CCC      CCC  CCCCCCCCCCCCCC
 +++++++++1111111-11111111-11-1-11111-111111++++=+=+=I=+====IIIAAIAAIAAAXXXZZM---------""--------"--""----""""--"""""----------"--""-
+                                                                             .........++........+..++....++++..+++++..........+..++.
+                                                                             '''''''''CC''''''''C''CC''''CCCC''CCCCC''''''''''C''CC'
+                                                                             XXXXXXXXX  XXXXXXXX XX  XXXX    XX     XXXXXXXXXX XX  X
+                                                                             CCCCCCCCC  CCCCCCCC CC  CCCC    CC     CCCCCCCCCC CC  C
 ++1++++11+11-1111-1111---1--11111111-11++1+++=+=+===II=====III=IAIAIAAAXXXZZ-M---------------"""--""""-"""-""""""""------"--""""""""
+                                                                            C ...............+++..++++.+++.++++++++......+..++++++++
+                                                                              '''''''''''''''CCC''CCCC'CCC'CCCCCCCC''''''C''CCCCCCCC
+                                                                              XXXXXXXXXXXXXXX   XX    X   X        XXXXXX XX
+                                                                              CCCCCCCCCCCCCCC   CC    C   C        CCCCCC CC
 +++1++++++111+1111111---1111--1111++1+1++++=I=====IIIIIII===IIIAAIAAAAAXXZZZ--M+"""----------"-----""---"--"-"-"""-----"-"-""-"""--"
+                                                                            CC C+++..........+.....++...+..+.+.+++.....+.+.++.+++..+
+                                                                                CCC''''''''''C'''''CC'''C''C'C'CCC'''''C'C'CC'CCC''C
+                                                                                   XXXXXXXXXX XXXXX  XXX XX X X   XXXXX X X  X   XX
+                                                                                   CCCCCCCCCC CCCCC  CCC CC C C   CCCCC C C  C   CC
 +++++++++++11111111111111-11111111++++++===III==I==IIII=I=IIIIIAAAIAAAXXXZZZ-Z---=""---"------"---------"--""--"""-----"--""""""-"""
+                                                                            C CCCC++...+......+.........+..++..+++.....+..++++++.+++
+                                                                                  CC'''C''''''C'''''''''C''CC''CCC'''''C''CCCCCC'CCC
+                                                                                    XXX XXXXXX XXXXXXXXX XX  XX   XXXXX XX      X
+                                                                                    CCC CCCCCC CCCCCCCCC CC  CC   CCCCC CC      C
 +++++++++1+1+11++11111111111111+++++++++====II=IIIIIIII=I==IIIAIAIAAAAXXXZZZ---ZZZM"-------"--------------"---"""""-------"""""--"""
+                                                                            CCC    +.......+..............+...+++++.......+++++..+++
+                                                                                   C'''''''C''''''''''''''C'''CCCCC'''''''CCCCC''CCC
+                                                                                    XXXXXXX XXXXXXXXXXXXXX XXX     XXXXXXX     XX
+                                                                                    CCCCCCC CCCCCCCCCCCCCC CCC     CCCCCCC     CC
 ++++++++11+++1111-1--11111111+11+++++=+==I===II=IIII===I=II=IIAAIAAAAAXXXXZZZM-Z-ZZM"-"----"+""----"------""--"--"""-----""-"---"""-
+                                                                              C C   +.+....+C++....+......++..+..+++.....++.+...+++.
+                                                                                    C'C''''C CC''''C''''''CC''C''CCC'''''CC'C'''CCC'
+                                                                                     X XXXX    XXXX XXXXXX  XX XX   XXXXX  X XXX   X
+                                                                                     C CCCC    CCCC CCCCCC  CC CC   CCCCC  C CCC   C
 =+++++++++1+++111111111111++11+++++=======IIIIIIIIIIIII=IIIIIIIIIAAAAXXXZZZZ-M-------+------"-"----"-----------""""---""""""-------"
+                                                                            C CCCCCCCC......+.+....+...........++++...++++++.......+
+                                                                                      ''''''C'C''''C'''''''''''CCCC'''CCCCCC'''''''C
+                                                                                      XXXXXX X XXXX XXXXXXXXXXX    XXX      XXXXXXX
+                                                                                      CCCCCC C CCCC CCCCCCCCCCC    CCC      CCCCCCC
 =+=++++1++++++111111111++1+++++++=======IIIIIIIIIIIIIII==IIIIIIIAAAAXXZZZZZZ-M--MMM-Z-=-----""--------------"--"-"-----"""""-"--"--"
+                                                                            C CC   C CC.....++..............+..+.+.....+++++.+..+..+
+                                                                                       '''''CC''''''''''''''C''C'C'''''CCCCC'C''C''C
+                                                                                       XXXXX  XXXXXXXXXXXXXX XX X XXXXX     X XX XX
+                                                                                       CCCCC  CCCCCCCCCCCCCC CC C CCCCC     C CC CC
 +====+++++++++11-111111++++++=+====+IIII=IIIIIIIIIIIIIIIIIIIIAAIAAAAAXXZZXZZ-MMMMMM-ZZZ="----------------""""-""-"-----""""""---""--
+                                                                            C      C   C+................++++.++.+.....++++++...++..
+                                                                                        C''''''''''''''''CCCC'CC'C'''''CCCCCC'''CC''
+                                                                                         XXXXXXXXXXXXXXXX    X  X XXXXX      XXX  XX
+                                                                                         CCCCCCCCCCCCCCCC    C  C CCCCC      CCC  CC
 ==+==+=+++++111111111+1++1+++======1III=I=IIIIIIIIIIIIIIIIIIIIIAAIAAAAXXZZZZ-M=MM----ZXX+---"""""-----------"--"-"------"--"""-""-""
+                                                                            C C  CCCC   C...+++++...........+..+.+......+..+++.++.++
+                                                                                         '''CCCCC'''''''''''C''C'C''''''C''CCC'CC'CC
+                                                                                         XXX     XXXXXXXXXXX XX X XXXXXX XX   X  X
+                                                                                         CCC     CCCCCCCCCCC CC C CCCCCC CC   C  C
 I======+++++++11+++=++++++++===IIIIIIIIIIIIIAIIIIIIIIIIIIIIIIIIAAIAAAXXXZZZZZM===M--ZXXX-"------------------""----------""---"""""--
+                                                                              CCC CC    C+..................++..........++...+++++..
+                                                                                         C''''''''''''''''''CC''''''''''CC'''CCCCC''
+                                                                                          XXXXXXXXXXXXXXXXXX  XXXXXXXXXX  XXX     XX
+                                                                                          CCCCCCCCCCCCCCCCCC  CCCCCCCCCC  CCC     CC
 II=====++++++++++++++=++++===I=IIIIIIIIIIIIIIIIIIIIIIIAIIIIIAIIAAAAAAXXZZZZZ-====M-ZAZZZZM"-----------------------------""""""-""---
+                                                                            CCCCC C       +.............................++++++.++...
+                                                                                          C'''''''''''''''''''''''''''''CCCCCC'CC'''
+                                                                                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXX      X  XXX
+                                                                                           CCCCCCCCCCCCCCCCCCCCCCCCCCCCC      C  CCC
 I=III====++=+++++++===+====I=IIIIIIAIIIIIIIIIII=AAIIIIIIIAAIAAAAIAAXXXXZXZZZ-M===-XXX-----M"----------------------------"-""""------
+                                                                            C CCCC   CCCCC +............................+.++++......
+                                                                                           C''''''''''''''''''''''''''''C'CCCC''''''
+                                                                                            XXXXXXXXXXXXXXXXXXXXXXXXXXXX X    XXXXXX
+                                                                                            CCCCCCCCCCCCCCCCCCCCCCCCCCCC C    CCCCCC
 ===II===++++=+=+=++=+=======III=IIIIAIIIIIIAII=IIIIIIIIIAAIIAAAIAIAAXXXXXZZ-ZM==-ZZZ---M-ZX-"-----------"----"""-----"---"""""----""
+                                                                           C  CCC   CCC C  C+...........+....+++.....+...+++++....++
+                                                                                            C'''''''''''C''''CCC'''''C'''CCCCC''''CC
+                                                                                             XXXXXXXXXXX XXXX   XXXXX XXX     XXXX
+                                                                                             CCCCCCCCCCC CCCC   CCCCC CCC     CCCC
 IIIIIII==+====+==++=====IIIIIIIIIIAIAIIIIIAIAIII=IIIAIAAAAAAAAAIAAAAXXZXXZZ--M-ZZMMMM=MM--ZAZ"-----------------"-=-----"--"-"-------
+                                                                           CC C      C  CC   +.................+.C.....+..+.+.......
+                                                                                             C'''''''''''''''''C' '''''C''C'C'''''''
+                                                                                              XXXXXXXXXXXXXXXXX X XXXXX XX X XXXXXXX
+                                                                                              CCCCCCCCCCCCCCCCC C CCCCC CC C CCCCCCC
 III==II================IIIIIIIAAIIIIAIIIIIAIAAAIIIIIIIAAAAAIAAAIAAAXXXXXZZZZ-M-Z-MMMM=M--ZXXA-"-------------------------------------
+                                                                            C C C    C CC    C+.....................................
+                                                                                              C'''''''''''''''''''''''''''''''''''''
+                                                                                               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                                               CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 IAII=III===I==I=II=IIIIIIIIIIAAAIIAIIII=IIAIIAIIIIIIIIIAAIAIAAAAAAXXXXZXZZ---M--MMMMMM-ZZZXXXX+-------------------"------"-"----"---
+                                                                          CCC CC      C       C...................+......+.+....+...
+                                                                                               '''''''''''''''''''C''''''C'C''''C'''
+                                                                                               XXXXXXXXXXXXXXXXXXX XXXXXX X XXXX XXX
+                                                                                               CCCCCCCCCCCCCCCCCCC CCCCCC C CCCC CCC
 IIA=IIIIII==IIIIIII=AIIAAIIAAIIIII=AIIIIIIIIIIIIIIIIIIIIAAAIIAAAAXXAXXXZZZ-Z-M--ZZZZZXZXXZZXX-"----------------"-----------"----"""-
+                                                                          C C CC             C+................+...........+....+++.
+                                                                                              C''''''''''''''''C'''''''''''C''''CCC'
+                                                                                               XXXXXXXXXXXXXXXX XXXXXXXXXXX XXXX   X
+                                                                                               CCCCCCCCCCCCCCCC CCCCCCCCCCC CCCC   C
 II=IIIIII==IIIIIAIIIAIIIIAIAIIIAIAIIAIIIIIIIAIIIIIIAIIIAAAIAAAAAAXXXAZXZZZZ--M-ZZZZZXZZZXZZZZZ="-----------------""------------"--"-
+                                                                           CC C               C+.................++............+..+.
+                                                                                               C'''''''''''''''''CC''''''''''''C''C'
+                                                                                                XXXXXXXXXXXXXXXXX  XXXXXXXXXXXX XX X
+                                                                                                CCCCCCCCCCCCCCCCC  CCCCCCCCCCCC CC C
 AIIIIIIIIIIIIIIAAAAAAIIAIAIIIIIAAIIIIIIIAIIIAAIIIIIIAIAAAAIIAXAAAAXXXXXZZZZ--MZZXZXZXZZXZZZ--XXZ+-----------------"------"-----"---"
+                                                                           CC              CC   C.................+......+.....+...+
+                                                                                                 '''''''''''''''''C''''''C'''''C'''C
+                                                                                                 XXXXXXXXXXXXXXXXX XXXXXX XXXXX XXX
+                                                                                                 CCCCCCCCCCCCCCCCC CCCCCC CCCCC CCC
 AAAIAIAIAIAIAAAAAAIAAAAAIAIAAIAAAIIIIIIIAIIIAAIIIIIIAAAAAAAAAAAAAXXXXXZZZZZ--M-ZXXXZZZZZZ--Z-ZXAX+---------------------------------"
+                                                                           CC C          CC C    C.................................+
+                                                                                                  '''''''''''''''''''''''''''''''''C
+                                                                                                  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                                                  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 AAAAAAIIAAAAAAAAAAAAAAAAIAIIAAAAAAIAAIAIIAIIIIIII==A=IIAAAAAAAXAAXXXXXZ--ZZZM-ZZXXZXZZ---M-ZZZZAAM-----------"--------"--"-----""-""
+                                                                       CC    C        CCC C       ...........+........+..+.....++.++
+                                                                                                  '''''''''''C''''''''C''C'''''CC'CC
+                                                                                                  XXXXXXXXXXX XXXXXXXX XX XXXXX  X
+                                                                                                  CCCCCCCCCCC CCCCCCCC CC CCCCC  C
 AAAIIAIAAAIAAXXAAAAXXXAAAAAAAAAIAAIAAIAAIAAIIAIIIIIIIIAAAAAAAAAAXXXXXXZZZZZ-M-ZZXZZZZ-MMMM-ZXXZXXZ-------------""-------"-------"---
+                                                                           C C       C    C       .............++.......+.......+...
+                                                                                                  '''''''''''''CC'''''''C'''''''C'''
+                                                                                                  XXXXXXXXXXXXX  XXXXXXX XXXXXXX XXX
+                                                                                                  CCCCCCCCCCCCC  CCCCCCC CCCCCCC CCC
 AXAAAAIAAAXAAXXXXXXXXAAAAAAAAAAAAAIAAAAIIAAIIIIIIIIIIAAAAAAAAAAAXXXZXXZZZ-Z----ZZZZZ----M=MZZXZZXZ++"-------"--""""-----"-------"-""
+                                                                         C CCCC     CCCC C        CC+.......+..++++.....+.......+.++
+                                                                                                    C'''''''C''CCCC'''''C'''''''C'CC
+                                                                                                     XXXXXXX XX    XXXXX XXXXXXX X
+                                                                                                     CCCCCCC CC    CCCCC CCCCCCC C
 XXAAAAAXXXXAAXXXXXXAAAAXXXAAAAAXAAAAAAAIAAAIAIIIIIIIIAAAAAAXAAAXXXXXXZZZ-Z------Z-Z-ZZZ-M=M-XXZZZ-MMMMM+---""""-""-------"--------""
+                                                                        C CCCCCC C C   C C C     C     C...++++.++.......+........++
+                                                                                                        '''CCCC'CC'''''''C''''''''CC
+                                                                                                        XXX    X  XXXXXXX XXXXXXXX
+                                                                                                        CCC    C  CCCCCCC CCCCCCCC
 XXXXXXXXXXXXXXXXAXXAXAAXAXAXAAAAXAAAAIAIAAIIAIIIIIIIIAAAAAAAXXAXAXXXZZZZZZ--------ZZXXXXZZ-XZXAXZ-MM-ZAA+-""---""--------"""""--"-""
+                                                                          CCCCCCCC        C      C  C   C.++...++........+++++..+.++
+                                                                                                         'CC'''CC''''''''CCCCC''C'CC
+                                                                                                         X  XXX  XXXXXXXX     XX X
+                                                                                                         C  CCC  CCCCCCCC     CC C
 XXZXXXXXZXXXXXXXXXXXXXXXXXXXXXXXAXAAAAAAAAAAAIIAIIIAIAAAAAAXAAXAXXXXXZXZZ-Z-M-M---ZXXXXXXXXAXXXAXZZXXAAIX"------""---------"---"----
+                                                                         C C C CCC                       +......++.........+...+....
+                                                                                                         C''''''CC'''''''''C'''C''''
+                                                                                                          XXXXXX  XXXXXXXXX XXX XXXX
+                                                                                                          CCCCCC  CCCCCCCCC CCC CCCC
 ZZZXZZZXZZXZXXZXXXXXXXXXXXXXXXAXXXAXAAAIAAAAAIIAIIIAIAAAXAAXXAXXXXXXXZZ-----MMM-ZZXXXXXZZXXXAAAAXXXXXXAIX"-------""--"---------"----
+                                                                       CCCCC   C                         +.......++..+.........+....
+                                                                                                         C'''''''CC''C'''''''''C''''
+                                                                                                          XXXXXXX  XX XXXXXXXXX XXXX
+                                                                                                          CCCCCCC  CC CCCCCCCCC CCCC
 ZZZZZZZZZXXXZZXZZZXXZXXXXXXXXXAXAXAXAAAAAAAAAIIAIIIAIAAAXAXXXXXXXXXZZZZZZZZ-M--ZZXXXXZZ-ZZXXAAAAXXZXXXXIM-""---"-"""----"-"----"----
+                                                                           C CC        C                 .++...+.+++....+.+....+....
+                                                                                                         'CC'''C'CCC''''C'C''''C''''
+                                                                                                         X  XXX X   XXXX X XXXX XXXX
+                                                                                                         C  CCC C   CCCC C CCCC CCCC
 --ZZ-Z-ZZXZZZXZZZZXXZXXXXXXXXXAAXAXXAAAAAAAAAIIAIIIAAAIAAXAXAAAXXXXXZZXZZZZ-M-ZZZXXXXXXXZXXZXXXXXXXXXAAX"--"--"-""-----"--""-""""""-
+CC  C C                                                                    C C                          +..+..+.++.....+..++.++++++.
+                                                                                                        C''C''C'CC'''''C''CC'CCCCCC'
+                                                                                                         XX XX X  XXXXX XX  X      X
+                                                                                                         CC CC C  CCCCC CC  C      C
 M------ZZZZZZZZZZXXZXZXZZXXXXXXXXXXAAAXAAAAAAAAAIIAAAAAAAXXXAAXXXXXZZZZZZZ--M-ZZZZZZZZXZZZZZZZZZXXXXXAI------------------"----"-"-""
+ CCCCCC                                                                   CC C                         C.................+....+.+.++
+                                                                                                        '''''''''''''''''C''''C'C'CC
+                                                                                                        XXXXXXXXXXXXXXXXX XXXX X X
+                                                                                                        CCCCCCCCCCCCCCCCC CCCC C C
 -------Z-Z-ZZZZZXXXXZZXZXZXXXZXXXXXXAAXAAAAAAAAIIAAAAAAAAXXAAAAXXXXXZXZZZZ--MM---ZZZZZZZZZZZZZ-ZZZZXAAI=--------"-------""--""""""""
+CCCCCCC C C                                                               CC  CCC             C        C........+.......++..++++++++
+                                                                                                        ''''''''C'''''''CC''CCCCCCCC
+                                                                                                        XXXXXXXX XXXXXXX  XX
+                                                                                                        CCCCCCCC CCCCCCC  CC
 M--MM------ZZZZZZZZXZZZXXZZXXXXXXXXXAXAAAAAAAAIIIIAAAAAAXXXAAAXZXXXXZZZ-ZZ-MMMMMM-ZZZZZZZZZZ-------ZZZA"--------""-----""-"-""""""""
+ CC  CCCCCC                                                            C  C      C          CCCCCCC    +........++.....++.+.++++++++
+                                                                                                       C''''''''CC'''''CC'C'CCCCCCCC
+                                                                                                        XXXXXXXX  XXXXX  X X
+                                                                                                        CCCCCCCC  CCCCC  C C
 MMM-MM------ZZZZZZZZZZXXZXZXXXXXXZXXAXAAAAAAAAIAI+AAAAAXAXAXAAX+XXXZZZZZZ---MMM----ZZZZZZXXZZMM=MM--M------""""-""""---"""""""""""""
+   C  CCCCCC                                                             CCC   CCCC            C  CC CC....++++.++++...+++++++++++++
+                                                                                                       ''''CCCC'CCCC'''CCCCCCCCCCCCC
+                                                                                                       XXXX    X    XXX
+                                                                                                       CCCC    C    CCC
 MMMMM---------Z--ZZXZXZZZZZXXXXXZXXXXAAAAAAAAAIIAIAAAAAXAXAXAXXXXXXZZZZZ---MMMM-----ZZXXXXXXZ-M=MMMM-Z="---"-"""--""--""""""""""""""
+     CCCCCCCCC CC                                                       CCC    CCCCC         C C    C C+...+.+++..++..++++++++++++++
+                                                                                                       C'''C'CCC''CC''CCCCCCCCCCCCCC
+                                                                                                        XXX X   XX  XX
+                                                                                                        CCC C   CC  CC
 MMMMMM----M-----ZZZZZZZZZXZZXXXXXXXXAXAAAAAAIAIIAAAAIXAAXAAXXXXXXXZZZZZZZ--MMMM--ZZZZZZXXXAXZZ--MMMMZM-"--""---"--"----"""""""""""""
+      CCCC CCCCC                                                         CC    CC             CC      .+..++...+..+....+++++++++++++
+                                                                                                      'C''CC'''C''C''''CCCCCCCCCCCCC
+                                                                                                      X XX  XXX XX XXXX
+                                                                                                      C CC  CCC CC CCCC
 MMMMM--MMMM------ZZZZZZZZZZZZZZXZXXXXXAAAAAAAAIIAAAAAXAXXAXXXXXXZZZZZZZ-ZZ--MMM--ZZZXZZXXAAXZZZ--MM--"""-"-----"-------"""-"""""""""
+     CC    CCCCCC                                                      C  CC   CC              CC  CC+++.+.....+.......+++.+++++++++
+                                                                                                     CCC'C'''''C'''''''CCC'CCCCCCCCC
+                                                                                                        X XXXXX XXXXXXX   X
+                                                                                                        C CCCCC CCCCCCC   C
 MMMMM--M-M---------ZZXZZZZZZZZZXXXXXXAAAAAAAAIAIIIAAAXXAXXXXAAAXXXZXZXZZZ--MM=M--ZZZXZXXZXXXXXZ-MM--"-"--"----"-""------""""""""""""
+     CC C CCCCCCCCC                                                      CC  C CC              C  CC+.+..+....+.++......++++++++++++
+                                                                                                    C'C''C''''C'CC''''''CCCCCCCCCCCC
+                                                                                                     X XX XXXX X  XXXXXX
+                                                                                                     C CC CCCC C  CCCCCC
 MM====MMM-M-------ZZZZZZZZZZZZZZZXXXXXAXXXXAAAIAAAAAAAAAXXXXXXXZZZZZZZZZZ---MMM--ZZXZZZXXZZXXZ--M--+--""----""--""""---""""-"-"-""""
+  CCCC   C CCCCCCC                                                       CCC   CC             CC CCC..++....++..++++...++++.+.+.++++
+                                                                                                    ''CC''''CC''CCCC'''CCCC'C'C'CCCC
+                                                                                                    XX  XXXX  XX    XXX    X X X
+                                                                                                    CC  CCCC  CC    CCC    C C C
 ===MMMMMMM-------------ZZZZZZZZXZXXXXXAAAXAXAAIAAAXAAXAXAXXXXXXZXZZZZZZXZZ--===---ZZZZ---ZZZ------+-"-"""-"--"""""""---"""""""""""""
+CCC       CCCCCCCCCCCCC                                                   CCCCCCCC    CCC   CCCCCCC.+.+++.+..+++++++...+++++++++++++
+                                                                                                   'C'CCC'C''CCCCCCC'''CCCCCCCCCCCCC
+                                                                                                   X X   X XX       XXX
+                                                                                                   C C   C CC       CCC
 ======MMMMMM-MM-------Z--ZZZZZZZZZXXXXXAXAXAAIAAAXAAAXXXXXXXXXXXZZXZZXZXZZ-M=+=MMM------Z-++=----+"-"-""""---""-"-"-"--"""""""""""""
+CCCCCC      C  CCCCCCC CC                                                 C CCC   CCCCCC CCCCCCCCC+.+.++++...++.+.+.+..+++++++++++++
+                                                                                                  C'C'CCCC'''CC'C'C'C''CCCCCCCCCCCCC
+                                                                                                   X X    XXX  X X X XX
+                                                                                                   C C    CCC  C C C CC
 =====MMM=MMM-MM------Z---ZZZZZZXXZZXXAAXXXXXAAAAXAAAAAXXXXXAXXXXXZXZXZZZZZ-M=+"""=M---ZZM""--+M-+----"--"-""""-""""-""""""""""""""""
+CCCCC   C   C  CCCCCC CCC                                                 C CC+++C CCC   ++..C CC....+..+.++++.++++.++++++++++++++++
+                                                                              CCC        CC''    ''''C''C'CCCC'CCCC'CCCCCCCCCCCCCCCC
+                                                                                           XX    XXXX XX X    X    X
+                                                                                           CC    CCCC CC C    C    C
 +===M====MMMMMMM---------ZZZZZZZZZXXXAAXXXXAAAAAAXXXXXXXZZXXXXZXZZZZXZZZZ--MM="-""+MMM-="--"-""""--""-----""""""""""--""""""""+""--"
+CCCC CCCC       CCCCCCCCC                                                CC  C+.++C   CC+..+.++++..++.....++++++++++..++++++++C++..+
+                                                                              C'CC      C''C'CCCC''CC'''''CCCCCCCCCC''CCCCCCCC CC''C
+                                                                               X         XX X    XX  XXXXX          XX           XX
+                                                                               C         CC C    CC  CCCCC          CC           CC
 +======MM=MMMMM----------Z-ZZZZZZXXXZXXXXXXXAAAAXXXAAXXXXXXXXXXXZXZXXZXZZZ-MM-+""-""+"""-"-"-"----"""--"-""--""""""""-""""""+++""--"
+CCCCCCC  C     CCCCCCCCCC C                                               C  CC++.++C+++.+.+.+....+++..+.++..++++++++.++++++CCC++..+
+                                                                               CC'CC CCC'C'C'C''''CCC''C'CC''CCCCCCCC'CCCCCC   CC''C
+                                                                                 X      X X X XXXX   XX X  XX        X           XX
+                                                                                 C      C C C CCCC   CC C  CC        C           CC
 ++=+======MMMMM-M--MM-------ZZZXXXXXXXAXAXAAAAAAXXAXXXXXXXXXXZXXXZZZZZZZZ--M-Z-=---""--"---"----"---""-""""-"""""""""""""""""++"""""
+CCCCCCCCCC     C CC  CCCCCCC                                             CC C CC...++..+...+....+...++.++++.+++++++++++++++++CC+++++
+                                                                                '''CC''C'''C''''C'''CC'CCCC'CCCCCCCCCCCCCCCCC  CCCCC
+                                                                                XXX  XX XXX XXXX XXX  X    X
+                                                                                CCC  CC CCC CCCC CCC  C    C
 =+=====+==MM=MMM-M-M--Z-----ZZZXXXXXXXXXAXXXAAIXXXAAXZXXXAXXXZXXXXZXZZZZZ--MMXZM"--""--"""""-"""""-"-""""""---"""""""-""""""+++"""""
+CCCCCCCCCC  C   C C CC CCCCC                                             CC     +..++..+++++.+++++.+.++++++...+++++++.++++++CCC+++++
+                                                                                C''CC''CCCCC'CCCCC'C'CCCCCC'''CCCCCCC'CCCCCC   CCCCC
+                                                                                 XX  XX     X     X X      XXX       X
+                                                                                 CC  CC     C     C C      CCC       C
 +++++++==M===MMMM---------ZZZZZZZZZZZXXXXXAXAAAXXZXAXXXXXXXXXXZZZZZZZZZZ---M=ZZZ+-------""--"-""---"--""""""--"""""----""""""""""-""
+CCCCCCCCC CCC    CCCCCCCCC                                              CCC C   C.......++..+.++...+..++++++..+++++....++++++++++.++
+                                                                                 '''''''CC''C'CC'''C''CCCCCC''CCCCC''''CCCCCCCCCC'CC
+                                                                                 XXXXXXX  XX X  XXX XX      XX     XXXX          X
+                                                                                 CCCCCCC  CC C  CCC CC      CC     CCCC          C
 =++++++====M==MMM---------ZZZZZZZZZXXXXXXXAXAAAAXZXXXXXXXXXXXZZZZZZZZZZ----M=-XZM"--"-"""---"-""---""""""""""""""""-""-""+""""""""""
+CCCCCCCCCCC CC   CCCCCCCCC                                             CCCC CC   +..+.+++...+.++...++++++++++++++++.++.++C++++++++++
+                                                                                 C''C'CCC'''C'CC'''CCCCCCCCCCCCCCCC'CC'CC CCCCCCCCCC
+                                                                                  XX X   XXX X  XXX                X  X
+                                                                                  CC C   CCC C  CCC                C  C
 +++=+++=======MMMM--------ZZZZZZZZZZZXXXXXXXAIAXXXXXAXXXXXXXXXZZZZZZZZZ---MM=MZZ-"--"-"""-"--"""--"""""""""""""""""""""""+""""""""""
+CCCCCCCCCCCCCC    CCCCCCCC                                             CCC  C   C+..+.+++.+..+++..+++++++++++++++++++++++C++++++++++
+                                                                                 C''C'CCC'C''CCC''CCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCC
+                                                                                  XX X   X XX   XX
+                                                                                  CC C   C CC   CC
 +++========MMMMMM1--M-----Z-ZZZZZZXZXXXXXXXXAIAXXXXXZXXZZXXXXXZZZZZXZXZZZ--M==ZXZ="--""""""""""""""-""""""""""""""""""""+"""""""""""
+CCCCCCCCCCC       CC CCCCC C                                             CC CC   C+..++++++++++++++.++++++++++++++++++++C+++++++++++
+                                                                                  C''CCCCCCCCCCCCCC'CCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC
+                                                                                   XX              X
+                                                                                   CC              C
 =++=+==+===MMMMMMMM---MM--ZZZZZZZZXXXXXXXXXXAAAXXXXXXXXXXZXXXZZZZZ-ZZZZZ--M-=+-ZZ-+"--"""""""""""-"-""""""""""""""""""""""""""""Z"""
+CCCCCCCCCCC        CCC  CC                                        C     CC CCCC  CC+..+++++++++++.+.++++++++++++++++++++++++++++ +++
+                                                                                   C''CCCCCCCCCCC'C'CCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC
+                                                                                    XX           X X
+                                                                                    CC           C C
 ++++++=+====MMMMMMM--M-----ZZZZZZZZXXXXXXXXXAAXXZZXZZZXXXZXXXZZZZZZZZZZ---M-M+MZZ-=""""""""""""-"--""""""""""""""""""""""""""""""""-
+CCCCCCCCCCCC       CC CCCCC                                            CCC C C   CC++++++++++++.+..++++++++++++++++++++++++++++++++.
+                                                                                   CCCCCCCCCCCC'C''CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC'
+                                                                                               X XX                                X
+                                                                                               C CC                                C
 +++++=+=====M==MMMM-MM------Z-ZZXZZXXXXXXXXXAAXXZXXXXZXXZZZXZZZZZZZZZZ----MZ-=MZXZM"--"-"""""""----""-"""""""""""""""""""""""-""""""
+CCCCCCCCCCCC CC    C  CCCCCC C                                        CCCC  CC     +..+.+++++++....++.+++++++++++++++++++++++.++++++
+                                                                                   C''C'CCCCCCC''''CC'CCCCCCCCCCCCCCCCCCCCCCC'CCCCCC
+                                                                                    XX X       XXXX  X                       X
+                                                                                    CC C       CCCC  C                       C
 =+++========MMMMM-Z-MMM--Z--Z--ZZZXXXZZXXXXAAAXXXXXXXXZXXZXZZXZZZZZZZZZZ--MZ-==XXZZ"--"""""-""""--"""-"""""+""""""-""""""""-""""""""
+CCCCCCCCCCCC     C C   CC CC CC                                         CC  CCC    +..+++++.++++..+++.+++++C++++++.++++++++.++++++++
+                                                                                   C''CCCCC'CCCC''CCC'CCCCC CCCCCC'CCCCCCCC'CCCCCCCC
+                                                                                    XX     X    XX   X            X        X
+                                                                                    CC     C    CC   C            C        C
 +++++=+==+====MMMMMMMM--------ZZZZZZXZXZXXXXXAXXZXZXZXZXZZZXZZZXXZZZZZZZ---Z-MMZXZX=""""""---------"--""""""""""""""-"""""""""""""""
+CCCCCCCCCCCCCC        CCCCCCCC                                          CCC C      C++++++.........+..++++++++++++++.+++++++++++++++
+                                                                                    CCCCCC'''''''''C''CCCCCCCCCCCCCC'CCCCCCCCCCCCCCC
+                                                                                          XXXXXXXXX XX              X
+                                                                                          CCCCCCCCC CC              C
 ++++=++========MMMMMM----------ZZZZZZXXXZXXXXAXXXXZZXZZXZZZXZZZXZZZZZZZZ-M-X-MMZXXX-"""""""-"------"--""""""""""""""""""""-"""""""""
+CCCCCCCCCCCCCCC      CCCCCCCCCC                                         C C C      C+++++++.+......+..++++++++++++++++++++.+++++++++
+                                                                                    CCCCCCC'C''''''C''CCCCCCCCCCCCCCCCCCCC'CCCCCCCCC
+                                                                                           X XXXXXX XX                    X
+                                                                                           C CCCCCC CC                    C
 +++++++========MMMMMM-M--------ZZZZZXXXXZXXXAXXXXXZZZXXXZZZXZZZXZZZZZZZ--M-Z-M=-XXXZ+---""--"-"-"--"""""""""""""""""--""""-"""""""""
+CCCCCCCCCCCCCCC      C CCCCCCCC                                        CC C C CC    C...++..+.+.+..+++++++++++++++++..++++.+++++++++
+                                                                                     '''CC''C'C'C''CCCCCCCCCCCCCCCCC''CCCC'CCCCCCCCC
+                                                                                     XXX  XX X X XX                 XX    X
+                                                                                     CCC  CC C C CC                 CC    C
 +++++========MM=M=MMM------ZZZZZ-ZZXXZXXXXXAAXXXZXZZXZXXZXZXXZZZZZXZZXZ-M-ZX-==MXZXX-""""""-----"--"""""""""""""""""-"""""""""""""""
+CCCCCCCCCCCCC  C C   CCCCCC     C                                      C C  CCC     C++++++.....+..+++++++++++++++++.+++++++++++++++
+                                                                                     CCCCCC'''''C''CCCCCCCCCCCCCCCCC'CCCCCCCCCCCCCCC
+                                                                                           XXXXX XX                 X
+                                                                                           CCCCC CC                 C
 =+++++====+===M=MMMMMMM------ZZZZZZZZZXXZXXAXXZXXZZZXZZXZXXZZZZZZZZZZZZZMMZZM=+MZZXZZ+--"--""-------"""+""""""""""""---"""""""""""""
+CCCCCCCCCCCCCC C       CCCCCC                                                CC      C..+..++.......+++C++++++++++++...+++++++++++++
+                                                                                      ''C''CC'''''''CCC CCCCCCCCCCCC'''CCCCCCCCCCCCC
+                                                                                      XX XX  XXXXXXX                XXX
+                                                                                      CC CC  CCCCCCC                CCC
 ++++++=+======MMMMMM-M-------ZZZ-ZZXZXXXXXXXXXZZXZZZZZZXXXXXXZZZZZZZZZZ-M-Z-M==MZZXZXM"-"-""""-"-""""""""""+"""+""""""-""""""""""++"
+CCCCCCCCCCCCCC      C CCCCCCC   C                                      C C C CC       +.+.++++.+.++++++++++C+++C++++++.++++++++++CC+
+                                                                                      C'C'CCCC'C'CCCCCCCCCC CCC CCCCCC'CCCCCCCCCC  C
+                                                                                       X X    X X                     X
+                                                                                       C C    C C                     C
 ++++=+======M==MMMMMMM------ZZZZZZZXZZZXZXXXAXZZZZZZZZZZZZZXZZZZXZZZZZZ--ZZ-M=+MZ-XZZZ+-""""--""-"""""""""""""""""""-"""""""""""+""-
+CCCCCCCCCCCC CC       CCCCCC                                           CC  C CC  C    C.++++..++.+++++++++++++++++++.+++++++++++C++.
+                                                                                       'CCCC''CC'CCCCCCCCCCCCCCCCCCC'CCCCCCCCCCC CC'
+                                                                                       X    XX  X                   X              X
+                                                                                       C    CC  C                   C              C
 +++=++=======M==MMM-MM-M---ZZ-ZZZZZZZZZXXXXAXXZZZZXZZZXZZXXXZZZZZZZZZXZ--ZX-==+M--ZXXZ=---""""""""""""""""""""--"""""--""""""+"""""-
+CCCCCCCCCCCCC CC   C  C CCC  C                                         CC  CCCC CC    C...++++++++++++++++++++..+++++..++++++C+++++.
+                                                                                       '''CCCCCCCCCCCCCCCCCCCC''CCCCC''CCCCCC CCCCC'
+                                                                                       XXX                    XX     XX            X
+                                                                                       CCC                    CC     CC            C
 +++=======MMMMMM=MMMM-------ZZZZZZZZZXZZZXXXXXZZZXZZZZXZXZXXZZZXXZZZZZZ---ZMM=+---ZXXZ-"----"-"-"""""""--"""""""-"-"--"""""""""""-""
+CCCCCCCCCC      C    CCCCCCC                                           CCC   CCCCC    C+....+.+.+++++++..+++++++.+.+..+++++++++++.++
+                                                                                       C''''C'C'CCCCCCC''CCCCCCC'C'C''CCCCCCCCCCC'CC
+                                                                                        XXXX X X       XX       X X XX           X
+                                                                                        CCCC C C       CC       C C CC           C
 +++=======MMMMMMMMMMM-------ZZZZZZZZXXZZZXXXXZZXZZZZZZZZZZZZXZZXZZZZZZZ--MZM===--M-ZZZ-+-----""""""""""-""""""""""""-""""""""""""-""
+CCCCCCCCCC           CCCCCCC                                           CC   CCCCC C   CC.....++++++++++.++++++++++++.++++++++++++.++
+                                                                                        '''''CCCCCCCCCC'CCCCCCCCCCCC'CCCCCCCCCCCC'CC
+                                                                                        XXXXX          X            X            X
+                                                                                        CCCCC          C            C            C
 ++=+======MM==MMMMMMM--M------ZZZZZZZZZXZXXXZXXZZZZZXXZZXXXZZZXZZZZZ--ZMM=-=++=----ZZZZ="-"-"""""""""""-"""""""""""-""""""""""""""""
+CCCCCCCCCC  CC       CC CCCCCC                                      CC   CCCCCCCCCC    C+.+.+++++++++++.+++++++++++.++++++++++++++++
+                                                                                        C'C'CCCCCCCCCCC'CCCCCCCCCCC'CCCCCCCCCCCCCCCC
+                                                                                         X X           X           X
+                                                                                         C C           C           C
 +++========MMMMMM=MM-M---M--Z--ZZZZXZZZXXXXXXXXZZZZZXXZZXXXZXXXXXZZZZZ-M=MM=++M--M-ZZZZ-+"""-"""""""""---""""-"""+"""""""++"""""""""
+CCCCCCCCCCC      C  C CCC CC CC                                       C C  CCC CC C    CC+++.+++++++++...++++.+++C+++++++CC+++++++++
+                                                                                         CCC'CCCCCCCCC'''CCCC'CCC CCCCCCC  CCCCCCCCC
+                                                                                            X         XXX    X
+                                                                                            C         CCC    C
 ++=++=+========MMMMM------Z--ZZZZZZZZZZZXXZXXZZZZZZZXZXXXXXXXZXZZ------===MM+"MMMMMZZZZZ+""-""""""-"""-"---""""""""-"-"""""""""+""""
+CCCCCCCCCCCCCCC     CCCCCC CC                                    CCCCCCCCC  C+          C++.++++++.+++.+...++++++++.+.+++++++++C++++
+                                                                             C           CC'CCCCCC'CCC'C'''CCCCCCCC'C'CCCCCCCCC CCCC
+                                                                                           X      X   X XXX        X X
+                                                                                           C      C   C CCC        C C
 +=++=+=======MMMMMM-M------ZZZZZZZZZZZZXXXXZXZZZZXZXXZXXXXXXXZZZZ-----M=+==M++-MMM-ZXZZZM""---"-""""""-"-"""""""+"""""""+"""""""""--
+CCCCCCCCCCCCC      C CCCCCC                                      CCCCC CCCC CCC   C      ++...+.++++++.+.+++++++C+++++++C+++++++++..
+                                                                                         CC'''C'CCCCCC'C'CCCCCCC CCCCCCC CCCCCCCCC''
+                                                                                           XXX X      X X                         XX
+                                                                                           CCC C      C C                         CC
 +=+==+======MMMMMMMMM------Z-Z-ZZZZZZZZXAXZZXZZZZXZXXXZXZXZZZZZZZZZ--MM-+==M==MMMM-ZXZXZ-"-"-""""""""""---""""""+"""-"-"+""""""""""-
+CCCCCCCCCCCC         CCCCCC C C                                    CC  CCCC CC    C     C+.+.++++++++++...++++++C+++.+.+C++++++++++.
+                                                                                         C'C'CCCCCCCCCC'''CCCCCC CCC'C'C CCCCCCCCCC'
+                                                                                          X X          XXX          X X            X
+                                                                                          C C          CCC          C C            C
 +=+====M==M==MMMMMM-----Z---ZZZZZZZZZZXXXXXXXZZZXXZXXZXXZZXXXZZZZZZ--MM-MM=M-=MM----ZZZZZ+"""-"-""""""-""--""--"""""""-"""=""""""--"
+CCCCCCC CC CC      CCCCC CCC                                       CC  C  C CC  CCCC     C+++.+.++++++.++..++..+++++++.+++C++++++..+
+                                                                                          CCC'C'CCCCCC'CC''CC''CCCCCCC'CCC CCCCCC''C
+                                                                                             X X      X  XX  XX       X          XX
+                                                                                             C C      C  CC  CC       C          CC
 =+++=+==M=MMMMMMMM-MM-------Z--ZZZZZZZZZXXXXXZXZXXZXXZZZZXZZZZZZZ----MM-MM==MM=MM---XZZZZM"---"-""---"--"-""-""""""""""""""""""""""-
+CCCCCCCC C        C  CCCCCCC CC                                  CCCC  C  CC  C  CCC      +...+.++...+..+.++.++++++++++++++++++++++.
+                                                                                          C'''C'CC'''C''C'CC'CCCCCCCCCCCCCCCCCCCCCC'
+                                                                                           XXX X  XXX XX X  X                      X
+                                                                                           CCC C  CCC CC C  C                      C
 +=++===M===MMMMMMM-M------Z-ZZZZZZ-ZZZZZXXXXXZXZZXZZXZXZZZZ-Z-ZZ----MMM--=++MM+=M---ZXXZZ-"-"-"--"---"----""-"-"""+""""""""""""""-""
+CCCCCCC CCC       C CCCCCC C      C                        C C  CCCC   CCCCC  CC CCC     C+.+.+..+...+....++.+.+++C++++++++++++++.++
+                                                                                          C'C'C''C'''C''''CC'C'CCC CCCCCCCCCCCCCC'CC
+                                                                                           X X XX XXX XXXX  X X                  X
+                                                                                           C C CC CCC CCCC  C C                  C
 +++====MM=M=M=MMMM-------Z--ZZ-ZZZZZZZZXXXXZZZXZZZZZXXZZZZ-Z--Z----M-=M--M==M-+=MMM-ZZZZZ-+-"-"------"---"""-""""""""-"""""""""""-""
+CCCCCCC  C C C    CCCCCCC CC  C                           C CC CCCC CC CC CC CCC   C     CC.+.+......+...+++.++++++++.+++++++++++.++
+                                                                                           'C'C''''''C'''CCC'CCCCCCCC'CCCCCCCCCCC'CC
+                                                                                           X X XXXXXX XXX   X        X           X
+                                                                                           C C CCCCCC CCC   C        C           C
 +++===MMM=M=MMMMMMM---Z-ZZZZZZZZZXZZZZXXXXXZZXZZZZZZZZ-Z--Z-Z-Z-----M=-ZZ-ZZMM===M---ZZZZZM"""""--"-----"-""""""""""""""""+""""""-""
+CCCCCC   C C       CCC C                              C CC C C CCCCC CC  C    CCC CCC      +++++..+.....+.++++++++++++++++C++++++.++
+                                                                                           CCCCC''C'''''C'CCCCCCCCCCCCCCCC CCCCCC'CC
+                                                                                                XX XXXXX X                       X
+                                                                                                CC CCCCC C                       C
 ==++===M==MM==MMMM--------Z--ZZZZZ-ZZAXXZXZZZZZZZZZZZ----ZZ-Z-------M=-ZMMZZ-M=+=-A--ZZ-ZZ-+------"---"-""--""""""""-""""""""""""-""
+CCCCCCC CC  CC    CCCCCCCC CC     C                  CCCC  C CCCCCCC CC     C CCCC CC  C  CC......+...+.++..++++++++.++++++++++++.++
+                                                                                            ''''''C'''C'CC''CCCCCCCC'CCCCCCCCCCCC'CC
+                                                                                            XXXXXX XXX X  XX        X            X
+                                                                                            CCCCCC CCC C  CC        C            C
 ++++======MMMM=MMM-------------ZZZZZZXXXXZXZZZZZZZZZZ----Z--ZZ----MM=MMM=MZZZM=++=---ZZ--ZZ+-"----"-----"----"""""""--""""""""""""""
+CCCCCCCCCC    C   CCCCCCCCCCCCC                      CCCC CC  CCCC  C   C     CCCCCCC  CC  C.+....+.....+....+++++++..++++++++++++++
+                                                                                            'C''''C'''''C''''CCCCCCC''CCCCCCCCCCCCCC
+                                                                                            X XXXX XXXXX XXXX       XX
+                                                                                            C CCCC CCCCC CCCC       CC
 ++++=MMM==MMMMMM---Z-M---------Z-ZZZZXXZXZZ-ZZZAZZZZZ--ZZ---------M=MMMMMM--ZZ-=+=MM-ZZ---Z=----"""--"--"--"""""""""--"""""""""-""""
+CCCCC   CC      CCC C CCCCCCCCC C          C         CC  CCCCCCCCC C      CC  CCCC  C  CCC C....+++..+..+..+++++++++..+++++++++.++++
+                                                                                            ''''CCC''C''C''CCCCCCCCC''CCCCCCCCC'CCCC
+                                                                                            XXXX   XX XX XX         XX         X
+                                                                                            CCCC   CC CC CC         CC         C
 ==++MMMMMMMM=MMM--M--M------Z-ZZ-ZZZXZXXXZZZZZZXZZZ------Z---Z---MMM=MMM--MMM---=+=M-XX----M"-""-"""""-"-"""""""""-"-"""""""+"""""""
+CCCC        C   CC CC CCCCCC C  C                  CCCCCC CCC CCC   C   CC   CCCCCC C  CCCC +.++.+++++.+.+++++++++.+.+++++++C+++++++
+                                                                                            C'CC'CCCCC'C'CCCCCCCCC'C'CCCCCCC CCCCCCC
+                                                                                             X  X     X X         X X
+                                                                                             C  C     C C         C C
 ++++=M==M=MM=MMMMMM--M------ZZ--ZZZXZXXZZZZZZZZZZZZ-----Z------MMMM=MMM-----M----++=-ZXZ-M--+-"-"----"-"---"""-""""----"""-""-""""""
+CCCCC CC C  C      CC CCCCCC  CC                   CCCCC CCCCCC    C   CCCCC CCCCCCCC   C CCC.+.+....+.+...+++.++++....+++.++.++++++
+                                                                                             'C'C''''C'C'''CCC'CCCC''''CCC'CC'CCCCCC
+                                                                                             X X XXXX X XXX   X    XXXX   X  X
+                                                                                             C C CCCC C CCC   C    CCCC   C  C
 ++++=M=====MMMMMMMM--M------ZZ-ZZ-ZZZXXZXZZZZZZZZZ--------Z----M-MM=M=-Z--MM-ZZ-Z-+=MZXX---M="-----"-"-----""-""""-"---""""---""""""
+CCCCC CCCCC        CC CCCCCC  C  C                CCCCCCCC CCCC C  C CC CC  C  C CCC    CCC C+.....+.+.....++.++++.+...++++...++++++
+                                                                                             C'''''C'C'''''CC'CCCC'C'''CCCC'''CCCCCC
+                                                                                              XXXXX X XXXXX  X    X XXX    XXX
+                                                                                              CCCCC C CCCCC  C    C CCC    CCC
 +++=======MMM=MMMM------Z---ZZZZ-ZZZZZXXZZZZZZZZZ-------Z---Z--M-MM=M+MZ--M=MMMMXZ==MZZZ-MM-M"-----"""--"--"--"--------"----""""""""
+CCCCCCCCCC   C    CCCCCC CCC    C                CCCCCCC CCC CC C  C C  CC C      CC    C  C +.....+++..+..+..+........+....++++++++
+                                                                                             C'''''CCC''C''C''C''''''''C''''CCCCCCCC
+                                                                                              XXXXX   XX XX XX XXXXXXXX XXXX
+                                                                                              CCCCC   CC CC CC CCCCCCCC CCCC
 +++=MM=====MM-MM-MM-------ZZZZZZZZZZZZXXZZZZZZZ-Z-Z--Z--Z--------M=MM+-XZZM=MMMZZM+=MZXZZ--M-"----------""--"----""--"-"""""""-"""""
+CCCC  CCCCC  C  C  CCCCCCC                     C C CC CC CCCCCCCC C  CC    C      CC     CC C+..........++..+....++..+.+++++++.+++++
+                                                                                             C''''''''''CC''C''''CC''C'CCCCCCC'CCCCC
+                                                                                              XXXXXXXXXX  XX XXXX  XX X       X
+                                                                                              CCCCCCCCCC  CC CCCC  CC C       C
 ++==M=M====MMMMM---Z---Z---Z-Z---ZZZZZXZZZZZZ-Z-ZZZ--Z-----------MM--=ZX--MM--ZZ-M+==-ZZ----M+-----"-------------""----"""-""""-+"""
+CCCC C CCCC     CCC CCC CCC C CCC            C C   CC CCCCCCCCCCC  CCC  CC  CC  C CCCC  CCCC C.....+.............++....+++.++++.C+++
+                                                                                              '''''C'''''''''''''CC''''CCC'CCCC' CCC
+                                                                                              XXXXX XXXXXXXXXXXXX  XXXX   X    X
+                                                                                              CCCCC CCCCCCCCCCCCC  CCCC   C    C
 ++=MM=====MMMMM--------Z-----Z-Z-ZZZZZXXZ--ZZZZZ-ZZ--------------MM-M=ZX===MZZ---=++MZXX--M--+----"""------------""--"-""--"""""""""
+CCC  CCCCC     CCCCCCCC CCCCC C C        CC     C  CCCCCCCCCCCCCC  C C  CCC   CCCCCC    CC CCC....+++............++..+.++..+++++++++
+                                                                                              ''''CCC''''''''''''CC''C'CC''CCCCCCCCC
+                                                                                              XXXX   XXXXXXXXXXXX  XX X  XX
+                                                                                              CCCC   CCCCCCCCCCCC  CC C  CC
 ++==M====M==MM-MM-------Z----------Z-ZZZZ--ZZZZZZZZ--------------MMM=+XX=+=M-MMMM=+==-ZZ---MM+-----""----------"-"---=-----"""""""""
+CCCC CCCC CC  C  CCCCCCC CCCCCCCCCC C    CC        CCCCCCCCCCCCCC   CC  CCC C    CCCCC  CCC  C.....++..........+.+...C.....+++++++++
+                                                                                              '''''CC''''''''''C'C''' '''''CCCCCCCCC
+                                                                                              XXXXX  XXXXXXXXXX X XXX XXXXX
+                                                                                              CCCCC  CCCCCCCCCC C CCC CCCCC
 =+=M=M===MMMM-MM-M-ZZ------Z--Z-ZZ-Z-XZZZZZZZZZZZ-Z---------Z---M=MM=+ZZ--MMM-=MMM===-ZZZ--M-+---"-"--"""--------""--------"""""""""
+CCC C CCC    C  C C  CCCCCC CC C  C C            C CCCCCCCCC CCC C  CC  CC   CC   CCCC   CC CC...+.+..+++........++........+++++++++
+                                                                                              '''C'C''CCC''''''''CC''''''''CCCCCCCCC
+                                                                                              XXX X XX   XXXXXXXX  XXXXXXXX
+                                                                                              CCC C CC   CCCCCCCC  CCCCCCCC
 +=+======MMMMMM-M----M----ZZZZ-ZZZZZZZZZZ---ZZZZZ--------------MM=--MMZXXX-MM==MMM==M-ZZZ-MMM+-----"----"-------""-"------""""""""""
+CCCCCCCCC      C CCCC CCCC    C          CCC     CCCCCCCCCCCCCC  CCC      C  CC   CC C   C   C.....+....+.......++.+......++++++++++
+                                                                                              '''''C''''C'''''''CC'C''''''CCCCCCCCCC
+                                                                                              XXXXX XXXX XXXXXXX  X XXXXXX
+                                                                                              CCCCC CCCC CCCCCCC  C CCCCCC
 +==M===MMMMMMMMMM-----Z-ZZ---ZZZZZZZZZXZZ---ZZZZZ---------------MMZZ--XX-ZZZ-==---MMM-ZZZ----"---------"----------------"-""""""""""
+CCC CCC          CCCCC C  CCC            CCC     CCCCCCCCCCCCCCC    CC  C   CCCCCC   C   CCCC+.........+................+.++++++++++
+                                                                                             C'''''''''C''''''''''''''''C'CCCCCCCCCC
+                                                                                              XXXXXXXXX XXXXXXXXXXXXXXXX X
+                                                                                              CCCCCCCCC CCCCCCCCCCCCCCCC C
 +=====M=MMMMMMMMM-----Z-----ZZ-ZZZZZZZXZ----ZZZ-----MM---------MMMXXM-ZZ--ZZ-MMZZZMMM-ZZZ---M"----------"----------------""""""---""
+CCCCCC C         CCCCC CCCCC  C         CCCC   CCCCC  CCCCCCCCC      C  CC  C        C   CCC +..........+................++++++...++
+                                                                                             C''''''''''C''''''''''''''''CCCCCC'''CC
+                                                                                              XXXXXXXXXX XXXXXXXXXXXXXXXX      XXX
+                                                                                              CCCCCCCCCC CCCCCCCCCCCCCCCC      CCC
 ===MMMMMMMMMMM------ZZ-Z-ZZZZZZ--ZZZZZZZ-ZZZZZ-----M---Z------MMMXAZ=MZZX-ZX-MMZZZZM--ZXZZZ-=---""--"-"-----"------"----"=""""""""""
+CCC           CCCCCC  C C      CC       C     CCCCC CCC CCCCCC      C    C  C       CC     CC...++..+.+.....+......+....+C++++++++++
+                                                                                             '''CC''C'C'''''C''''''C''''C CCCCCCCCCC
+                                                                                             XXX  XX X XXXXX XXXXXX XXXX
+                                                                                             CCC  CC C CCCCC CCCCCC CCCC
 =+=M===M=MMMMMMM-M-------Z-ZZZZ---ZZZZZZZZ-Z-Z----------------MM=ZZM+MZXZ-ZZMM--MZZZZXXXZZ-M"-----"-------------"-------""""""""""""
+CCC CCC C       C CCCCCCC C    CCC        C C CCCCCCCCCCCCCCCC  C   C    C    CC          C +.....+.............+.......++++++++++++
+                                                                                            C'''''C'''''''''''''C'''''''CCCCCCCCCCCC
+                                                                                             XXXXX XXXXXXXXXXXXX XXXXXXX
+                                                                                             CCCCC CCCCCCCCCCCCC CCCCCCC
 ++=M==MMM=MMMM-M-M-----ZZ-ZZZ-Z-ZZ-Z-ZZZZ--Z-ZZ------M-------MM=MZMM=-XXXZZ-MM-ZMZXZXXXXZ--+"--""-----------------------""""""""""""
+CCC CC   C    C C CCCCC  C   C C  C C    CC C  CCCCCC CCCCCCC  C    CC     C  C          CCC+..++.......................++++++++++++
+                                                                                            C''CC'''''''''''''''''''''''CCCCCCCCCCCC
+                                                                                             XX  XXXXXXXXXXXXXXXXXXXXXXX
+                                                                                             CC  CCCCCCCCCCCCCCCCCCCCCCC
 ===MMMM=MMMMMM----------ZZZZZ-Z-ZZ-ZZZZXZZZ--ZZ-------ZZ-----MM=-Z-MZZXAXXXX-ZXZM-XZZZXX--M""-------""---------"-"-----"""""""--""""
+CCC    C      CCCCCCCCCC     C C  C        CC  CCCCCCC  CCCCC  CC C         C    C      CC ++.......++.........+.+.....+++++++..++++
+                                                                                           CC'''''''CC'''''''''C'C'''''CCCCCCC''CCCC
+                                                                                             XXXXXXX  XXXXXXXXX X XXXXX       XX
+                                                                                             CCCCCCC  CCCCCCCCC C CCCCC       CC
 ======MMMMM--------ZZ-Z-ZZZ-ZZZZZZZZ-ZZZ---ZZ---------ZZ-----M=MZZM-XXXXA-ZZZAZMM-ZZ--ZXZZ+--"-------"------"----"----"""""""""""""+
+CCCCCC     CCCCCCCC  C C   C        C   CCC  CCCCCCCCC  CCCCC C    C     C       C  CC    C..+.......+......+....+....+++++++++++++C
+                                                                                           ''C'''''''C''''''C''''C''''CCCCCCCCCCCCC
+                                                                                           XX XXXXXXX XXXXXX XXXX XXXX
+                                                                                           CC CCCCCCC CCCCCC CCCC CCCC
 +==-M==MMMMM-------Z------Z-----ZZZ-ZZZZ---ZZ--ZZ-----ZZ--M--M=-Z-MM-ZXAZM=MXZ==M-ZMM-ZXZM"---"-----------------------"""""""-""""""
+CCCC CC     CCCCCCC CCCCCC CCCCC   C    CCC  CC  CCCCC  CC CC CC C  C     C   CC C   C    +...+.......................+++++++.++++++
+                                                                                          C'''C'''''''''''''''''''''''CCCCCCC'CCCCCC
+                                                                                           XXX XXXXXXXXXXXXXXXXXXXXXXX       X
+                                                                                           CCC CCCCCCCCCCCCCCCCCCCCCCC       C
 ======MMMMM-------ZZ-Z--Z-Z-Z---ZZZZZZZ----ZZ-ZZ-------Z--M-MM=-ZZM=M-XXXM=MM==MMZX--ZXXZ+------"--------------"------"""""""-""""""
+CCCCCC     CCCCCCC  C CC C C CCC       CCCC  C  CCCCCCC CC C  CC   C C    C  CC    CC    C......+..............+......+++++++.++++++
+                                                                                          ''''''C''''''''''''''C''''''CCCCCCC'CCCCCC
+                                                                                          XXXXXX XXXXXXXXXXXXXX XXXXXX       X
+                                                                                          CCCCCC CCCCCCCCCCCCCC CCCCCC       C
 =====MMMMMM-M--M---ZZ-Z-ZZ-Z-Z--ZZ-ZZZZZ--ZZ--Z------Z----MMM==MZXZ-+=XXXM=+"+M--XXZZZXXM"------------"------"-"-"---"""""""-"""""""
+CCCCC      C CC CCC  C C  C C CC  C     CC  CC CCCCCC CCCC   CC    CCC    CC+C CC        +............+......+.+.+...+++++++.+++++++
+                                                                            C            C''''''''''''C''''''C'C'C'''CCCCCCC'CCCCCCC
+                                                                                          XXXXXXXXXXXX XXXXXX X X XXX       X
+                                                                                          CCCCCCCCCCCC CCCCCC C C CCC       C
 =====M==MMMM-----Z----Z-ZZ-ZZZZZZZZXZXZZ-ZZZ--ZZ---M---Z--MMM=M---ZZM=ZXZ+"+==M-ZXXX-ZZ-+"------""----"------"""-"--"""""""-""+"""""
+CCCCC CC    CCCCC CCCC C  C             C   CC  CCC CCC CC   C CCC   C   C+CCC C    C  CC+......++....+......+++.+..+++++++.++C+++++
+                                                                          C              C''''''CC''''C''''''CCC'C''CCCCCCC'CC CCCCC
+                                                                                          XXXXXX  XXXX XXXXXX   X XX       X
+                                                                                          CCCCCC  CCCC CCCCCC   C CC       C
 ======MMMMMM---M---Z--ZZZZZZZZ-ZZXZZZZZZ-ZZZZZ-------------M==-Z-ZZZ-=ZXZ++=M=M---X----=-----------------------"-"---"""""-""-"""""-
+CCCCCC      CCC CCC CC        C         C     CCCCCCCCCCCCC CCC C   CC   CCC C CCC CCCCC.......................+.+...+++++.++.+++++.
+                                                                                        '''''''''''''''''''''''C'C'''CCCCC'CC'CCCCC'
+                                                                                        XXXXXXXXXXXXXXXXXXXXXXX X XXX     X  X     X
+                                                                                        CCCCCCCCCCCCCCCCCCCCCCC C CCC     C  C     C
 ====M=MMMMMM-------Z-ZZZZZZZ-ZZZZZZZZZZZ-Z-ZZ--------Z-----M=M-XZZZZ-MZXZ=M-Z---M-X----+"-""--"----------"-"---"-"-"""""""""""""++""
+CCCC C      CCCCCCC C       C           C C  CCCCCCCC CCCCC C C     C    C C CCC C CCCCC+.++..+..........+.+...+.+.+++++++++++++CC++
+                                                                                        C'CC''C''''''''''C'C'''C'C'CCCCCCCCCCCCC  CC
+                                                                                         X  XX XXXXXXXXXX X XXX X X
+                                                                                         C  CC CCCCCCCCCC C CCC C C
 =M==MMMMM----------Z-ZZZZZZZZZZZZZZZZZZZ---ZZ---Z-----Z--M-M=M-ZZZXZ-MZXXM+=-XAXZZAZ-M="-"""-"--""-"-----"-"""""-""""""""""-"""+="""
+C CC     CCCCCCCCCC C                   CCC  CCC CCCCC CC C C C     C     CCC       C C+.+++.+..++.+.....+.+++++.++++++++++.+++CC+++
+                                                                                       C'CCC'C''CC'C'''''C'CCCCC'CCCCCCCCCC'CCC  CCC
+                                                                                        X   X XX  X XXXXX X     X          X
+                                                                                        C   C CC  C CCCCC C     C          C
 MM=MMMMMM------Z--Z--ZZZZXZZZZZZZZZXXZZ-Z--ZZ-------ZZ----MM==-ZXXXZ-MZXAM+""+=--MX=+"--""""-"-"""-"-"-"""""-"""""""""""""""""++"-""
+  C      CCCCCC CC CC                  C CC  CCCCCCC  CCCC  CCC     C     C++CCCC  CC+..++++.+.+++.+.+.+++++.+++++++++++++++++CC+.++
+                                                                           CC        C''CCCC'C'CCC'C'C'CCCCC'CCCCCCCCCCCCCCCCC  C'CC
+                                                                                      XX    X X   X X X     X                    X
+                                                                                      CC    C C   C C C     C                    C
 MMMMMMM-M--------Z--ZZZZZZZZZZZZZZZZZZZZ-ZZ-ZZ-----------MM=+MZZXXXZ-MXAA-=""----"-+"""---"--"""""-"--------"""""""""""""""""""+--""
+       C CCCCCCCC CC                    C  C  CCCCCCCCCCC  CC       C    CC++....+CC+++...+..+++++.+........+++++++++++++++++++C..++
+                                                                           CC''''C  CCC'''C''CCCCC'C''''''''CCCCCCCCCCCCCCCCCCC ''CC
+                                                                             XXXX      XXX XX     X XXXXXXXX                    XX
+                                                                             CCCC      CCC CC     C CCCCCCCC                    CC
 MMMMMMMMM------ZZZ-ZZZZZZZZZXZZZZZZZZ-ZZZZZ-Z-Z-----Z----MM=+M-ZXXZZ--AAIXM+"----"-+"""-"-----"""-""----"--""-""""""""""""""""+"--""
+         CCCCCC   C                  C     C C CCCCC CCCC  CC C     CC     C+....+CC+++.+.....+++.++....+..++.++++++++++++++++C+..++
+                                                                            C''''C  CCC'C'''''CCC'CC''''C''CC'CCCCCCCCCCCCCCCC C''CC
+                                                                             XXXX      X XXXXX   X  XXXX XX  X                  XX
+                                                                             CCCC      C CCCCC   C  CCCC CC  C                  CC
 =MMMMMMMM----Z--ZZ-ZZZXZZZZZXXZZZZZZZZZZZZZ---Z-----Z---MM=++=-ZZZZZ--XAIXZ="----"M"-"""""----"--""""---"-""""""""""""""""""""""""-"
+C        CCCC CC  C                        CCC CCCCC CCC  CCCCC     CC     C+....+ +.+++++....+..++++...+.++++++++++++++++++++++++.+
+                                                                            C''''C C'CCCCC''''C''CCCC'''C'CCCCCCCCCCCCCCCCCCCCCCCC'C
+                                                                             XXXX   X     XXXX XX    XXX X                        X
+                                                                             CCCC   C     CCCC CC    CCC C                        C
 MMMMMM----M--ZZ-ZZZZZXZZXXZZZXXXXXXZZZ-ZZ--Z--Z----------MM=+=-XZZZZ-ZXXAX--+----"="-""-"--"--"--"-----"-"""-"""""""""""+""""""--"-"
+      CCCC CC  C                      C  CC CC CCCCCCCCCC  CCCC     C     CCC....+C+.++.+..+..+..+.....+.+++.+++++++++++C++++++..+.+
+                                                                             ''''C C'CC'C''C''C''C'''''C'CCC'CCCCCCCCCCC CCCCCC''C'C
+                                                                             XXXX   X  X XX XX XX XXXXX X   X                  XX X
+                                                                             CCCC   C  C CC CC CC CCCCC C   C                  CC C
 MMMMMM-------Z-ZZ-ZZZZZZXZZXZXXZXZZZ---ZZZ---ZZM--------MM+""=-ZXXXXZZZXIX--=----"M"--"""-------"""------"-"-""""""--"-"""""""--+-""
+      CCCCCCC C  C                  CCC   CCC   CCCCCCCC  C++CC           CCC....+ +..+++.......+++......+.+.++++++..+.+++++++..C.++
+                                                           CC                ''''C C''CCC'''''''CCC''''''C'C'CCCCCC''C'CCCCCCC'' 'CC
+                                                                             XXXX   XX   XXXXXXX   XXXXXX X X      XX X       XX X
+                                                                             CCCC   CC   CCCCCCC   CCCCCC C C      CC C       CC C
 MMMMMM--M---ZZ-ZZZZZZZZXXXXZXXZZXZZZZZ--Z---ZZ--Z-----MMMM+""+-ZXXXXXZXXAXZZ-"---"M"--"-"---------"--"--""-""""""""-"""""""""""----"
+      CC CCC  C                       CC CCC  CC CCCCC    C++CC             C+...+ +..+.+.........+..+..++.++++++++.+++++++++++....+
+                                                           CC                C'''C C''C'C'''''''''C''C''CC'CCCCCCCC'CCCCCCCCCCC''''C
+                                                                              XXX   XX X XXXXXXXXX XX XX  X        X           XXXX
+                                                                              CCC   CC C CCCCCCCCC CC CC  C        C           CCCC
 MM=MMMM------ZZZZZ-ZZZZXXZZXXXXXZZZZ---ZZZ--Z---Z-----MMM=+"""MZAXXXAXXXAAXXZ=--""M"--"-------"------"----"""""-"""-"-""""""""-----"
+  C    CCCCCC     C                 CCC   CC CCC CCCCC   CC+++               C..++ +..+.......+......+....+++++.+++.+.++++++++.....+
+                                                           CCC                ''CC C''C'''''''C''''''C''''CCCCC'CCC'C'CCCCCCCC'''''C
+                                                                              XX    XX XXXXXXX XXXXXX XXXX     X   X X        XXXXX
+                                                                              CC    CC CCCCCCC CCCCCC CCCC     C   C C        CCCCC
 MMMMM-M---Z-Z-ZXZZZXZZZZZXXZXXXZXZZZ----ZZ--Z---------MM=""+""=XXXXXXXXXAAXXAM"--"M+--"-------"---"-"----"-""---""""-""""""""-"-""""
+     C CCC C C                      CCCC  CC CCCCCCCCC  C++C++C               +..+ C..+.......+...+.+....+.++...++++.++++++++.+.++++
+                                                         CC CC                C''C  ''C'''''''C'''C'C''''C'CC'''CCCC'CCCCCCCC'C'CCCC
+                                                                               XX   XX XXXXXXX XXX X XXXX X  XXX    X        X X
+                                                                               CC   CC CCCCCCC CCC C CCCC C  CCC    C        C C
 MM=MMMM-------ZZZZZZZZZZZZXXXZZZZZZ----Z--Z----------MMM+-"+++=ZXXAAZZXXAAAAAX=--"-+-----------""""------"-"-----"-----"""""-"--"+""
+  C    CCCCCCC                     CCCC CC CCCCCCCCCC   C.+CCCC               C..+CC...........++++......+.+.....+.....+++++.+..+C++
+                                                         'C                    ''C  '''''''''''CCCC''''''C'C'''''C'''''CCCCC'C''C CC
+                                                         X                     XX   XXXXXXXXXXX    XXXXXX X XXXXX XXXXX     X XX
+                                                         C                     CC   CCCCCCCCCCC    CCCCCC C CCCCC CCCCC     C CC
 MMMMM---------ZZZZZZZZZZXXXZZZZZXZZ--------Z----------MM"-""+++ZXXXXZZZXAAAIIAZ"-"Z+-------------"-"-"--"--"--"-""""""""+"""""++==""
+     CCCCCCCCC                     CCCCCCCC CCCCCCCCCC  +.++CCC                +.+ C.............+.+.+..+..+..+.++++++++C+++++CCCC++
+                                                        C'CC                   C'C  '''''''''''''C'C'C''C''C''C'CCCCCCCC CCCCC    CC
+                                                         X                      X   XXXXXXXXXXXXX X X XX XX XX X
+                                                         C                      C   CCCCCCCCCCCCC C C CC CC CC C
 MMMMMM-M------ZZZZ-ZZZZZZZZXZXZZZZZ-ZZZ----ZZ-----MMMMM=+-""+++-ZXAX-ZZXXAII=IX+-"Z+---------""--"-"-"""""""""=""+++""+""+""++M=X+++
+      C CCCCCC    C                C   CCCC  CCCCC     CC.++CCCC    C          C.+ C.........++..+.+.+++++++++C++CCC++C++C++CC C CCC
+                                                         'CC                    'C  '''''''''CC''C'C'CCCCCCCCC CC   CC CC CC
+                                                         X                      X   XXXXXXXXX  XX X X
+                                                         C                      C   CCCCCCCCC  CC C C
 MMMMMMM--Z---ZZZZZZZZZZZZZZZXZXZZZ--Z-ZZ--Z--M-----M-M==+--"+++MZXXXZZXXAAII==AM"+AM"""-"""""""""""+"++"""++"+M++++""+"+"++MM-MM-"+=
+       CC CCC                     CC C  CC CC CCCCC C CCC..+CCC                 +C  +++.+++++++++++C+CC+++CC+C CCCC++C+C+CC  C  C+CC
+                                                         ''C                    C   CCC'CCCCCCCCCCC C  CCC  C      CC C C        C
+                                                         XX                            X
+                                                         CC                            C
 =MMMMM------ZZZ--ZZZZZZZXZXZZZXZXXZ--Z-Z-------------MM=M"-"+++MXAAAZZXXAIAI=II-"+IM"""""""""""""""""""""+""""=++""""""+==--=M=+""""
+C     CCCCCC   CC                  CC C CCCCCCCCCCCCC  C +.+CCC                C+C  +++++++++++++++++++++C++++CCC++++++CCCCCC CC++++
+                                                         C'C                    C   CCCCCCCCCCCCCCCCCCCCC CCCC   CCCCCC         CCCC
+                                                          X
+                                                          C
 =MMMMMM----ZZZ--ZXZZZZZXXXXXXXZXXAZ--Z-------Z------MMMM="-""+=MZAXAXZZXAIAAIIXM"=XM"""""""-"""""""""""""""""+++""""""+M--M=++""""""
+C      CCCC   CC                   CC CCCCCCC CCCCCC    C+.++CC                 +C  +++++++.+++++++++++++++++CCC++++++C CC CCC++++++
+                                                         C'CC                   C   CCCCCCC'CCCCCCCCCCCCCCCCC   CCCCCC        CCCCCC
+                                                          X                                X
+                                                          C                                C
 MMMMM----ZZZZZZZZZZZXXZZXXXXXXXXXXZ-----------M---M-M==MM+--"+=MZXXXZZZXXAAAAAXM"=X-"""-"""""""""+"""""""""""""""""""+=Z-M=++++""+++
+     CCCC                          CCCCCCCCCCC CCC C CC  C..+CC                 +C C+++.+++++++++C+++++++++++++++++++CC C CCCCC++CCC
+                                                          ''C                   C   CCC'CCCCCCCCC CCCCCCCCCCCCCCCCCCC          CC
+                                                          XX                           X
+                                                          CC                           C
 MMMM-----Z----ZZZZZZZXXZXXXXXXXXXXZ--------------M--MMMMM=--"+=MZXZXZZZXAAAIAAX="+XZ+""-""-"""++"""""""""""""""""""++=MXM=+"+++"++""
+    CCCCC CCCC                     CCCCCCCCCCCCCC CC     C..+CC                C+C  C++.++.+++CC+++++++++++++++++++CCC   CC+CCC+CC++
+                                                          ''C                   C    CC'CC'CCC  CCCCCCCCCCCCCCCCCCC        C   C  CC
+                                                          XX                           X  X
+                                                          CC                           C  C
 =MMMM----------ZZZZXZZZZZXZZZXXXXZ----------------MMM=MMM=--"+=M--ZZZZZXAIIIIZ+""=XX+"""""""""+""""""""""""""""""+=+==M===+"""+"+++"
+C    CCCCCCCCCC                   CCCCCCCCCCCCCCCC   C   C..+CC CC            C++C  C+++++++++C++++++++++++++++++CCCCC CCCC+++C+CCC+
+                                                          ''C                  CC    CCCCCCCCC CCCCCCCCCCCCCCCCCC          CCC C   C
+                                                          XX
+                                                          CC
 M=MMMM----M---ZZZXZZZZZZZZZZZAXXXZZ-----M-----M---MMMM---M""""=MM--Z--ZZAAIAM+"""=ZX="""""""""""""""""""""""""""+==++===++""""+""+""
+ C    CCCC CCC                     CCCCC CCCCC CCC    CCC ++++C  CC CC       C+++C  C+++++++++++++++++++++++++++CCCCCCCCCC++++C++C++
+                                                          CCCC                CCC    CCCCCCCCCCCCCCCCCCCCCCCCCCC          CCCC CC CC
+
+
 MMMMMM---------ZZZZZXZZZZZZZXAXZZ-Z---M-M----M---MM==---MM+--"+=MMMZ--ZZXX-="-"-"+XA="""""""""""""""""""""""""+"+=++++==+++"""+"""""
+      CCCCCCCCC                  C CCC C CCCC CCC  CCCCC  C..+CC    CC    CC+.+.+C  C+++++++++++++++++++++++++C+CCCCCCCCCCC+++C+++++
+                                                           ''C              C'C'C    CCCCCCCCCCCCCCCCCCCCCCCCC C           CCC CCCCC
+                                                           XX                X X
+                                                           CC                C C
 MMMMMMM----ZZZZZZZZXXZZZXZZXXXZZZZ------A--M-----MM=MM-M--+""""MMM-XAZ-ZZM"""""""+XA=""""""""""""""-""""""+++++++++++++=+++""""""+""
+       CCCC                       CCCCCC CC CCCCC  C  C CCC++++   C   C   +++++++C  C++++++++++++++.++++++CCCCCCCCCCCCCCCCC++++++C++
+                                                           CCCC           CCCCCCC    CCCCCCCCCCCCCC'CCCCCC                 CCCCCC CC
+                                                                                                   X
+                                                                                                   C
 M=MMM-------ZZZZZXZZZXZZXXZXXXXZX-----M-MM-------MMM-----M="-""+==++++MZZM"-"""""+XA="""""-"""""""""""""""""""+=+==+++++""""""""""""
+ C   CCCCCCC                     CCCCC C  CCCCCCC   CCCCC C+.++CCCCCCC    +.+++++C  C+++++.+++++++++++++++++++CCCCCCCCCC++++++++++++
+                                                           C'CC           C'CCCCC    CCCCC'CCCCCCCCCCCCCCCCCCC          CCCCCCCCCCCC
+                                                            X              X              X
+                                                            C              C              C
 MMMMM---------ZZZXZXZZZZXZZXXXXXZZ------M---------MM------M""--""----"MZZ="-"-"-"+XX="""""-"""""""""""""""+++++=+=++++++""""""""""""
+     CCCCCCCCC                    CCCCCC CCCCCCCCC  CCCCCC ++..++....+   C+.+.+.+C  C+++++.+++++++++++++++CCCCCCCCCCCCCC++++++++++++
+                                                           CC''CC''''C    C'C'C'C    CCCCC'CCCCCCCCCCCCCCC              CCCCCCCCCCCC
+                                                             XX  XXXX      X X X          X
+                                                             CC  CCCC      C C C          C
 MMMMMMM-----ZZZZZZZZZZZZZZZXXXXZZ---------------MM=Z-----MM+"""""---""MZZ="""-"-"+XX+""--"--""""""""""""""++"++++++++"""""""""""""""
+       CCCCC                     CCCCCCCCCCCCCCC  C CCCCC  C+++++...++   C+++.+.+C  C++..+..++++++++++++++CC+CCCCCCCC+++++++++++++++
+                                                            CCCCC'''CC    CCC'C'C    CC''C''CCCCCCCCCCCCCC  C        CCCCCCCCCCCCCCC
+                                                                 XXX         X X       XX XX
+                                                                 CCC         C C       CC CC
 =MMMMM---Z-ZZZZZZZZZZZZZZZZXXXXZZZ-----------M---MM----Z---+"""-+"--""-ZZ="""""""+XX+""-"""-""""""""""+"++"++++++=+++"""""""""""""""
+C     CCC C                       CCCCCCCCCCC CCC  CCCC CCCC+++.C+..++C  C+++++++C  C++.+++.++++++++++C+CC+CCCCCCCCCC+++++++++++++++
+                                                            CCC' C''CC    CCCCCCC    CC'CCC'CCCCCCCCCC C  C          CCCCCCCCCCCCCCC
+                                                               X  XX                   X   X
+                                                               C  CC                   C   C
 ===MMM-------Z-ZZZZZZXZZXZXXXXXZ------M----Z----M=-Z-------="---""-"""-XZ+"""-"""=XX+--"-"-""""""""""""""+++++++++""""""""""""""""""
+CCC   CCCCCCC C                 CCCCCC CCCC CCCC CC CCCCCCCC+...++.+++C  C+++.+++C  C..+.+.++++++++++++++CCCCCCCCC++++++++++++++++++
+                                                            C'''CC'CCC    CCC'CCC    ''C'C'CCCCCCCCCCCCCC         CCCCCCCCCCCCCCCCCC
+                                                             XXX  X          X       XX X X
+                                                             CCC  C          C       CC C C
 ===MMM-----Z--Z-ZZZZZZZZZZZXXXXZ----------------M-ZZZ----Z-M"---""---"ZXZ+"""-"""=AX+"-"""-"""""""""+"++"""++""+++"""""""""-""""""++
+CCC   CCCCC CC C                CCCCCCCCCCCCCCCC C   CCCC C +...++...+   C+++.+++C  C+.+++.+++++++++C+CC+++CC++CCC+++++++++.++++++CC
+                                                            C'''CC'''C    CCC'CCC    C'CCC'CCCCCCCCC C  CCC  CC   CCCCCCCCC'CCCCCC
+                                                             XXX  XXX        X        X   X                                X
+                                                             CCC  CCC        C        C   C                                C
 ==MMM-M------ZZ-ZZZZZZZZZZZZZXZZ----------------M-ZZZZ---A-M+---""---"ZXZ+"""""""=XZ"""""-"""""""""+"++="""""""""+"""""""""--""""+==
+CC   C CCCCCC  C                CCCCCCCCCCCCCCCC C    CCC C C...++...+   C+++++++C  +++++.+++++++++C+CCC+++++++++C+++++++++..++++CCC
+                                                             '''CC'''C    CCCCCCC   CCCCC'CCCCCCCCC C   CCCCCCCCC CCCCCCCCC''CCCC
+                                                             XXX  XXX                    X                                 XX
+                                                             CCC  CCC                    C                                 CC
 =MMMM---Z-Z--Z-ZZZZXZZXZZZZXXXXZ-Z-Z-Z-------Z-MZZZZZ--Z---M+"--"+---"-XZ+"""-"-"MA-"""""--""""+"""++=++++"++++++"""""""""""""+"+=+=
+C    CCC C CC C                 C C C CCCCCCC C      CC CCC C+..+C...+C  C+++.+.+  C+++++..++++C+++CCCCCCC+CCCCCC+++++++++++++C+CCCC
+                                                             C''C '''C    CCC'C'C   CCCCC''CCCC CCC       C      CCCCCCCCCCCCC C
+                                                              XX  XXX        X X         XX
+                                                              CC  CCC        C C         CC
 =MMMM--M-----ZZZZZZZZZZZZZZZXZXZ----Z----ZZZ----ZXZZZ------M"""-""---"ZXZ+"""""""-AM""""""--""+++"""+++++"""++++++++++""""++""+==+==
+C    CC CCCCC                   CCCC CCCC   CCCC     CCCCCC +++.++...+   C+++++++C  ++++++..++CCC+++CCCCC+++CCCCCCCCCC++++CC++CCCCCC
+                                                            CCC'CC'''C    CCCCCCC   CCCCCC''CC   CCC     CCC          CCCC  CC
+                                                               X  XXX                     XX
+                                                               C  CCC                     CC
 MM=MM---Z------ZZZZZZZZZZZZZXZXZ--Z------ZZZZ---ZZZZZ-----ZM+"---"--""-XZ+"""""""-XM"+"++"+++++++"+==-+===+===-MM==-=M=++M-==++Z--Z=
+  C  CCC CCCCCC                 CC CCCCCC    CCC     CCCCC  C+...+..++C  C+++++++C  +C+CC+CCCCCCC+CCCCCCCCCCCCC  CCCC CCC CCCCC CC C
+                                                             C'''C''CC    CCCCCCC   C C  C       C
+                                                              XXX XX
+                                                              CCC CC
 MMMMMM-M-----Z--ZZZXXZZZZZZZXXZZ------Z-Z--Z--MZZZZZZ----=MM="""+=+=MMMMM+=MM"+=MMM====M-MM=+MZM=+MM-M=-M--Z==MMM=MZ=MM==MMM-M--M---
+      C CCCCC CC                CCCCCC C CC CC       CCCCC  C+++CCCC     CC  +CC   CCCC C  CC   CC  C CC CC CC   C  C  CC   C CC CCC
+                                                             CCC             C
+
+

+
+
+
+
