Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-11 - 43,50536/einstn.dat
There are no other files named einstn.dat in the archive.
T
1
-
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC
-
-
-
-
-
*                                                           +------------+
*                                                           +            +
*                                                           + COMPUTER   +
*                                                           +            +
*                                                           +    PICTURE +
*                                                           +            +
*                                                           +------------+
-
-
-
-                                                          ALBERT EINSTEIN
-                                                   COMPUTER TRANSCRIPTION PROCESS
0                                                                 BY
0                                                         SAMUEL P. HARBISON
0                                                       COMPUTER CENTER CLINIC
*                                                        PRINCETON UNIVERSITY
*                                                          87 PROSPECT ST.
*                                                    PRINCETON, NEW JERSEY 08540
-                                                  COPYRIGHT 1973 BY S. P. HARBISON
-                                                       SHEET  1 OF  2 SHEETS
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE
*                         LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET
*                         WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH
*                         SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.
-
-
-
-
-
-
0
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-+--"-"--"-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..+.+..+.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB' ''C'C''C'
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX XX X XX X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CC C CC C
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""--"-"--+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.++..+.+..C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'CC''C'C''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX  XX X XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC  CC C CC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-+--"-+--+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..+.C..C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB' ''C' ''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX XX X XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CC C CC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""--
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+...+++..
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC'''CCC''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH XXX   XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CCC   CC
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---+--"-+--
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...C..+.C..
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''' ''C' ''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXX XX X XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCC CC C CC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""""--"""--"""-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCC..C++..+++.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBB''BCC''CCC'
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHXXH  XX   X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXCCX  CC   C
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+-"""--"-+--""+-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC..C.C..++C.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 'BBB''B' ''CC '
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH XHHHXXHX XX   X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CXXXCCXC CC   C
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-=-"""""-"""--+-+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCC.C++..C.C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB' 'BBBBB'BCC'' '
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX XHHHHHXH  XX X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC CXXXXXCX  CC C
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-M+--""""-"-+--+"+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. C..CCCC.C.C..C+C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'  ''BBBB'B' '' C
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX  XXHHHHXHX XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC  CCXXXXCXC CC
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-+M"-""""""-"""--+-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C +.CCCCCC.C++..C.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'  C'BBBBBB'BCC'' '
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX   XHHHHHHXH  XX X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC   CXXXXXXCX  CC C
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-MM-""""""""""+-"""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.  .CCCCCCCCCCC.C++
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'  'BBBBBBBBBB 'BCC
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX  XHHHHHHHHHH XH
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC  CXXXXXXXXXX CX
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""""""""-+-+-""""""""""-+--+
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.CCC.CCCCCCCCCC.C..C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'   'BBBBBBBBBB' ''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHX   XHHHHHHHHHHX XX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXC   CXXXXXXXXXXC CC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-MM"-""""""""""""---
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.  +.CCCCCCCCCCC+...
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'  C'BBBBBBBBBBBC'''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX   XHHHHHHHHHHH XXX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC   CXXXXXXXXXXX CCC
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-=MM-""""""""""""-+-"
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C  .CCCCCCCCCCCC.C.C
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'   'BBBBBBBBBBBB' 'B
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX   XHHHHHHHHHHHHX XH
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC   CXXXXXXXXXXXXC CX
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""MM=-""-""""""""-"-+-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+  C.CC.CCCCCCCC.C.C.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC   'BB'BBBBBBBB'B' '
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH    XHHXHHHHHHHHXHX X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    CXXCXXXXXXXXCXC C
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-=MM""""""""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C  +CCCCCCCCCCCCCCC++
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'   CBBBBBBBBBBBBBBBCC
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX    HHHHHHHHHHHHHHH
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC    XXXXXXXXXXXXXXX
*-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""""""-""""""""""""""""""-=M-M-"""""""""""""--"+
+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.CCCCCCCCCCCCCCCCCC.C C .CCCCCCCCCCCCC..CC
+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'BBBBBBBBBBBBBBBBBB'    'BBBBBBBBBBBBB''B
+XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXHHHHHHHHHHHHHHHHHHX    XHHHHHHHHHHHHHXXH
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCXXXXXXXXXXXXXXXXXXC    CXXXXXXXXXXXXXCCX
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""M--=-""""""""""""""-"-
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+ CCC.CCCCCCCCCCCCCC.C.
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC    'BBBBBBBBBBBBBB'B'
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH     XHHHHHHHHHHHHHHXHX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     CXXXXXXXXXXXXXXCXC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-M---+"""""""""""""""---
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. CCCCCCCCCCCCCCCCCCC...
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'     BBBBBBBBBBBBBBB'''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX     HHHHHHHHHHHHHHHXXX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC     XXXXXXXXXXXXXXXCCC
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""+----"-""""""""""-""-"--
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+.CCCCCCCCCC.CC.C..
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB     C'BBBBBBBBBB'BB'B''
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH      XHHHHHHHHHHXHHXHXX
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      CXXXXXXXXXXCXXCXCC
*-"""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""""""""""""""""""""""""-""""""""""""""""""""""""-M----"-""""-----""-""---
+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC. CCCC+.CCCC.....CC.CC...
+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'     C'BBBB'''''BB'BB'''
+XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHX      XHHHHXXXXXHHXHHXXX
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXC      CXXXXCCCCCXXCXXCCC
*-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-=----M---""""-"--""-"""""
+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCC ...CCCC.C..CC.CCCCC
+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'      '''BBBB'B''BB'BBBBB
+XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX      XXXHHHHXHXXHHXHHHHH
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC      CCCXXXXCXCCXXCXXXXX
*-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""M----M"--"""----"""""""""
+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+ CCCC +..CCC....CCCCCCCCC
+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC      C''BBB''''BBBBBBBBB
+XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH        XXHHHXXXXHHHHHHHHH
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        CCXXXCCCCXXXXXXXXX
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-M---Z-+=---"""""--""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. CCC CCC...CCCCC..CCCCCCCC
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'        '''BBBBB''BBBBBBBB
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX        XXXHHHHHXXHHHHHHHH
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC        CCCXXXXXCCXXXXXXXX
*-"""-"""--""""""""""""""""-"-"-""--""-"-"""-"""""-""""-""-""""""""""""""""""""""""""""""""""""""""""""""-=M-----"++--""""-""-"""""""
+.CCC.CCC..CCCCCCCCCCCCCCCC.C.C.CC..CC.C.CCC.CCCCC.CCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C CCCCC+CC..CCCC.CC.CCCCCCC
+'BBB'BBB''BBBBBBBBBBBBBBBB'B'B'BB''BB'B'BBB'BBBBB'BBBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'       C  ''BBBB'BB'BBBBBBB
+XHHHXHHHXXHHHHHHHHHHHHHHHHXHXHXHHXXHHXHXHHHXHHHHHXHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX          XXHHHHXHHXHHHHHHH
+CXXXCXXXCCXXXXXXXXXXXXXXXXCXCXCXXCCXXCXCXXXCXXXXXCXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC          CCXXXXCXXCXXXXXXX
*---""""-""--"""""""""""""----"---"----""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""M---ZZM"-="--""""""-"""""""
+...CCCC.CC..CCCCCCCCCCCCC....C...C....CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC+ CCC   +.C+..CCCCCC.CCCCCCC
+'''BBBB'BB''BBBBBBBBBBBBB''''B'''B''''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBC       C' C''BBBBBB'BBBBBBB
+XXXHHHHXHHXXHHHHHHHHHHHHHXXXXHXXXHXXXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH         X  XXHHHHHHXHHHHHHH
+CCCXXXXCXXCCXXXXXXXXXXXXXCCCCXCCCXCCCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         C  CCXXXXXXCXXXXXXX
*--------"""-"""""-"""""----"-"--"---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-M--Z-ZZ=--"=---"""""""""""""
+........CCC.CCCCC.CCCCC....C.C..C...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. CC C  C..+C...CCCCCCCCCCCCC
+''''''''BBB'BBBBB'BBBBB''''B'B''B'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'        ''C '''BBBBBBBBBBBBB
+XXXXXXXXHHHXHHHHHXHHHHHXXXXHXHXXHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX        XX  XXXHHHHHHHHHHHHH
+CCCCCCCCXXXCXXXXXCXXXXXCCCCXCXCCXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC        CC  CCCXXXXXXXXXXXXX
*--------"-"-"""-""""""---"-"-"-""---"""""""""""""""""""""""""""""-"""""""""""""""""""""""""""""""""-"""+--Z--ZZ=---"+---""""""""""""
+........C.C.CCC.CCCCCC...C.C.C.CC...CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC CC  C...+C...CCCCCCCCCCCC
+''''''''B'B'BBB'BBBBBB'''B'B'B'BB'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB         '''C '''BBBBBBBBBBBB
+XXXXXXXXHXHXHHHXHHHHHHXXXHXHXHXHHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHH         XXX  XXXHHHHHHHHHHHH
+CCCCCCCCXCXCXXXCXXXXXXCCCXCXCXCXXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXX         CCC  CCCXXXXXXXXXXXX
*-------"--""""--"""""-----""--"-"-"""-""-"""-"""""""""""""""""""""""""-"""""""""""""""""""""""""""""""-M--Z-ZZZ+----="""-"""""""""""
+.......C..CCCC..CCCCC.....CC..C.C.CCC.CC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC. CC C   C....C+++.CCCCCCCCCCC
+'''''''B''BBBB''BBBBB'''''BB''B'B'BBB'BB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'         '''' CCC'BBBBBBBBBBB
+XXXXXXXHXXHHHHXXHHHHHXXXXXHHXXHXHXHHHXHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX         XXXX    XHHHHHHHHHHH
+CCCCCCCXCCXXXXCCXXXXXCCCCCXXCCXCXCXXXCXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC         CCCC    CXXXXXXXXXXX
*-------"--""""""""""""--"""-""-""---"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-+-----Z--+-"-""="--"""""""""""
+.......C..CCCCCCCCCCCC..CCC.CC.CC...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC CCC.C.++C+..CCCCCCCCCCC
+'''''''B''BBBBBBBBBBBB''BBB'BB'BB'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'          'B'CC C''BBBBBBBBBBB
+XXXXXXXHXXHHHHHHHHHHHHXXHHHXHHXHHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHX          XHX    XXHHHHHHHHHHH
+CCCCCCCXCCXXXXXXXXXXXXCCXXXCXXCXXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXC          CXC    CCXXXXXXXXXXX
*-------""""""""-""""---""---""""-"--""""""""""""""""""""""""""""""""""""""""-""""""""""""""""""""""""-M-----ZZZ=-"--""=""-""""""""""
+.......CCCCCCCC.CCCC...CC...CCCC.C..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCC. CCCCC   C.C..++C++.CCCCCCCCCC
+'''''''BBBBBBBB'BBBB'''BB'''BBBB'B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBB'          'B''CC CC'BBBBBBBBBB
+XXXXXXXHHHHHHHHXHHHHXXXHHXXXHHHHXHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHX          XHXX     XHHHHHHHHHH
+CCCCCCCXXXXXXXXCXXXXCCCXXCCCXXXXCXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXC          CXCC     CXXXXXXXXXX
*--------""""""-"""""-""""----""-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""=----Z-ZZZM-""-""+=""-"""-"""""
+........CCCCCC.CCCCC.CCCC....CC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C    .CC.++CC++.CCC.CCCCC
+''''''''BBBBBB'BBBBB'BBBB''''BB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB           'BB'CC  CC'BBB'BBBBB
+XXXXXXXXHHHHHHXHHHHHXHHHHXXXXHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH           XHHX      XHHHXHHHHH
+CCCCCCCCXXXXXXCXXXXXCXXXXCCCCXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           CXXC      CXXXCXXXXX
*--------""----"""---"--""--"-----"""""""""""""""""-"--""""""--"--""""""""""""--"--""-"""""""""""""""-M----ZZZZZM--"--+"+""""""--""""
+........CC....CCC...C..CC..C.....CCCCCCCCCCCCCCCCC.C..CCCCCC..C..C+CCCCCCCCCC..C..CC.CCCCCCCCCCCCCCC. CCCC      ..C..C+C+++CCC..CCCC
+''''''''BB''''BBB'''B''BB''B'''''BBBBBBBBBBBBBBBBB'B''BBBBBB''B''BCBBBBBBBBBB''B''BB'BBBBBBBBBBBBBBB'           ''B'' C CCCBBB''BBBB
+XXXXXXXXHHXXXXHHHXXXHXXHHXXHXXXXXHHHHHHHHHHHHHHHHHXHXXHHHHHHXXHXXH HHHHHHHHHHXXHXXHHXHHHHHHHHHHHHHHHX           XXHXX      HHHXXHHHH
+CCCCCCCCXXCCCCXXXCCCXCCXXCCXCCCCCXXXXXXXXXXXXXXXXXCXCCXXXXXXCCXCCX XXXXXXXXXXCCXCCXXCXXXXXXXXXXXXXXXC           CCXCC      XXXCCXXXX
*--------"----"-"------""--"----""-"""""""""""""""""""""""""-""""""""""""""""""---""""""""""""""""""-=-----Z-ZZZ-"-"""---++"-"""""--"
+........C....C.C......CC..C....CC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCC...CCCCCCCCCCCCCCCCCC.CCCCCC C   C+.CCC...CC+.CCCCC..C
+''''''''B''''B'B''''''BB''B''''BB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBB'''BBBBBBBBBBBBBBBBBB'            C'BBB'''  C'BBBBB''B
+XXXXXXXXHXXXXHXHXXXXXXHHXXHXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHXXXHHHHHHHHHHHHHHHHHHX             XHHHXXX   XHHHHHXXH
+CCCCCCCCXCCCCXCXCCCCCCXXCCXCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXCCCXXXXXXXXXXXXXXXXXXC             CXXXCCC   CXXXXXCCX
*-----"--"----""-------"---------""-""""""""""""""""""-""""""-"-"""""""""""-"-----"""""""""""""""""""---Z-ZZ-ZZZZ+----""-"+"--"""-"--
+.....C..C....CC.......C.........CC.CCCCCCCCCCCCCCCCCC.CCCCCC.C.CCCCCCCCCCC.C.....CCCCCCCCCCCCCCCCCC+CCC C  C    C....CC.+C+..CCC.C..
+'''''B''B''''BB'''''''B'''''''''BB'BBBBBBBBBBBBBBBBBB'BBBBBB'B'BBBBBBBBBBB'B'''''BBBBBBBBBBBBBBBBBBC             ''''BB'C C''BBB'B''
+XXXXXHXXHXXXXHHXXXXXXXHXXXXXXXXXHHXHHHHHHHHHHHHHHHHHHXHHHHHHXHXHHHHHHHHHHHXHXXXXXHHHHHHHHHHHHHHHHHH              XXXXHHX   XXHHHXHXX
+CCCCCXCCXCCCCXXCCCCCCCXCCCCCCCCCXXCXXXXXXXXXXXXXXXXXXCXXXXXXCXCXXXXXXXXXXXCXCCCCCXXXXXXXXXXXXXXXXXX              CCCCXXC   CCXXXCXCC
*-----"-------------"---------""-""-"""""""""""""""""""""""""-""""""""""""""------"-"""""""-"""-"""-M-ZZZ-ZZZZZZZ=--""----=+-"-"""---
+.....C.............C.........CC.CC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC......C.CCCCCCC.CCC.CCC. C   C       C..++....CC.+.CCC...
+'''''B'''''''''''''B'''''''''BB'BB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB''''''B'BBBBBBB'BBB'BBB'              ''CC''''  'C'BBB'''
+XXXXXHXXXXXXXXXXXXXHXXXXXXXXXHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXXXXXXHXHHHHHHHXHHHXHHHX              XX  XXXX  X XHHHXXX
+CCCCCXCCCCCCCCCCCCCXCCCCCCCCCXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCCCCCCXCXXXXXXXCXXXCXXXC              CC  CCCC  C CXXXCCC
*-------------------------"-""""""-"""-"""""""""""""""""-"""""""""""""-"""---""-"----"-""""--"""-"-+--ZZZZZ---ZZZ-"-"+----"M"""-""---
+.........................C.CCCCCC.CCC.CCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.CCC...CC.C....C.CCCC..CCC.C.CCC     CCC   C+.+C....+ +++.CC...
+'''''''''''''''''''''''''B'BBBBBB'BBB'BBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'BBB'''BB'B''''B'BBBB''BBB'B'               C'C ''''C CCC'BB'''
+XXXXXXXXXXXXXXXXXXXXXXXXXHXHHHHHHXHHHXHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHHHXXXHHXHXXXXHXHHHHXXHHHXHX                X  XXXX     XHHXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCXCXXXXXXCXXXCXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXXXCCCXXCXCCCCXCXXXXCCXXXCXC                C  CCCC     CXXCCC
*-----------"-----"""""""""--""""""""""""""-""""""""""""""""""""""""""""""""""--"---"--"""-""--""--MZZZZZZZ---ZZZZ+-----"--=+"--""-"-
+...........+.....CCCCCCCCC..CCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C...C..CCC.CC..CC..        CCC    C.....C..CC+..CC.C.
+'''''''''''C'''''BBBBBBBBB''BBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''B'''B''BBB'BB''BB''                '''''B''  C''BB'B'
+XXXXXXXXXXX XXXXXHHHHHHHHHXXHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHXXXHXXHHHXHHXXHHXX                XXXXXHXX   XXHHXHX
+CCCCCCCCCCC CCCCCXXXXXXXXXCCXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXCCCXCCXXXCXXCCXXCC                CCCCCXCC   CCXXCXC
*------"-------"--"""-"""""-"""""""""""""""""""""""""""""-"""""""""""""""""""-------"""""""""-"""-+ZZZZZZ-Z--ZZZZZM""---""-"=+-"-"""-
+......C.......C..CCC.CCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCC.......CCCCCCCCC.CCC.C      C CC      ++...CC.+CC.+.CCC.
+''''''B'''''''B''BBB'BBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBB'''''''BBBBBBBBB'BBB'                 CC'''BB'C  'C'BBB'
+XXXXXXHXXXXXXXHXXHHHXHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHXXXXXXXHHHHHHHHHXHHHX                   XXXHHX   X XHHHX
+CCCCCCXCCCCCCCXCCXXXCXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXCCCCCCCXXXXXXXXXCXXXC                   CCCXXC   C CXXXC
*-----------------"""-""""--""---"""""""-""""""""""""""""-""--""-"""""-"""""""--"-"-""""-""""--"--MZZZ------ZZZZZZZ+---"""-""M"---"""
+.................CCC.CCCC..CC...CCCCCCC.CCCCCCCCCCCCCCCC.CC..CC.CCCCC.CCCCCCC..C.C.CCCC.CCCC..C..    CCCCCC       C...CCC.++ +...CCC
+'''''''''''''''''BBB'BBBB''BB'''BBBBBBB'BBBBBBBBBBBBBBBB'BB''BB'BBBBB'BBBBBBB''B'B'BBBB'BBBB''B''                  '''BBB'CC C'''BBB
+XXXXXXXXXXXXXXXXXHHHXHHHHXXHHXXXHHHHHHHXHHHHHHHHHHHHHHHHXHHXXHHXHHHHHXHHHHHHHXXHXHXHHHHXHHHHXXHXX                  XXXHHHX    XXXHHH
+CCCCCCCCCCCCCCCCCXXXCXXXXCCXXCCCXXXXXXXCXXXXXXXXXXXXXXXXCXXCCXXCXXXXXCXXXXXXXCCXCXCXXXXCXXXXCCXCC                  CCCXXXC    CCCXXX
*--------------------"--"---------"--""""-"""--"-"--"-"-"--------""""--"-"""""---""""-"""""------+ZZZZ-----ZZZZZZXZM"---""-"""M----""
+....................C..C.........C..CCCC.CCC..C.C..C.C.C........CCCC..C.CCCCC...CCCC.CCCCC......C    CCCCC         +...CC.+++ ....CC
+''''''''''''''''''''B''B'''''''''B''BBBB'BBB''B'B''B'B'B''''''''BBBB''B'BBBBB'''BBBB'BBBBB''''''                   C'''BB'CCC ''''BB
+XXXXXXXXXXXXXXXXXXXXHXXHXXXXXXXXXHXXHHHHXHHHXXHXHXXHXHXHXXXXXXXXHHHHXXHXHHHHHXXXHHHHXHHHHHXXXXXX                    XXXHHX    XXXXHH
+CCCCCCCCCCCCCCCCCCCCXCCXCCCCCCCCCXCCXXXXCXXXCCXCXCCXCXCXCCCCCCCCXXXXCCXCXXXXXCCCXXXXCXXXXXCCCCCC                    CCCXXC    CCCCXX
*------------"-------"-"--------"-----""""""""-""""-"""-"---""--"-"--"-"--""-""---"""""""""--"-"-MZZZ--Z----ZZZZZZZZ+--""""---+=---""
+............C.......C.C........C.....CCCCCCCC.CCCC.CCC.C...CC..C.C..C.C..CC.CC...CCCCCCCCC..C.C.    CC CCCC        C..CCCC...CC...CC
+''''''''''''B'''''''B'B''''''''B'''''BBBBBBBB'BBBB'BBB'B'''BB''B'B''B'B''BB'BB'''BBBBBBBBB''B'B'                    ''BBBB'''  '''BB
+XXXXXXXXXXXXHXXXXXXXHXHXXXXXXXXHXXXXXHHHHHHHHXHHHHXHHHXHXXXHHXXHXHXXHXHXXHHXHHXXXHHHHHHHHHXXHXHX                    XXHHHHXXX  XXXHH
+CCCCCCCCCCCCXCCCCCCCXCXCCCCCCCCXCCCCCXXXXXXXXCXXXXCXXXCXCCCXXCCXCXCCXCXCCXXCXXCCCXXXXXXXXXCCXCXC                    CCXXXXCCC  CCCXX
*------------"------"""-----------"---""""""""-"-"-"""---""-"""-"------"-"""""----"""""""""""""-+-ZZZ-ZZZ--ZZZZZZZZZ-"-""""-"-"++---"
+............C......CCC...........C...CCCCCCCC.C.C.CCC...CC.CCC.C......C.CCCCC....CCCCCCCCCCCCC.CC   C   CC         C+.CCCC.+.+CC...C
+''''''''''''B''''''BBB'''''''''''B'''BBBBBBBB'B'B'BBB'''BB'BBB'B''''''B'BBBBB''''BBBBBBBBBBBBB'                     C'BBBB'C'C  '''B
+XXXXXXXXXXXXHXXXXXXHHHXXXXXXXXXXXHXXXHHHHHHHHXHXHXHHHXXXHHXHHHXHXXXXXXHXHHHHHXXXXHHHHHHHHHHHHHX                      XHHHHX X   XXXH
+CCCCCCCCCCCCXCCCCCCXXXCCCCCCCCCCCXCCCXXXXXXXXCXCXCXXXCCCXXCXXXCXCCCCCCXCXXXXXCCCCXXXXXXXXXXXXXC                      CXXXXC C   CCCX
*--------------------------------""--"""""""""-"""""-"---""""""-----"------"""-----""""-"""""""-M-ZZZZZZZ--ZZZZZZZZXZ+---"""-"--="--"
+................................CC..CCCCCCCCC.CCCCC.C...CC+CCC.....C......CCC.....CCCC.CCCCCCC. C       CC          C...CCC.+..C+..C
+''''''''''''''''''''''''''''''''BB''BBBBBBBBB'BBBBB'B'''BBCBBB'''''B''''''BBB'''''BBBB'BBBBBBB'                      '''BBB'C'' C''B
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXHHHHHHHHHXHHHHHXHXXXHH HHHXXXXXHXXXXXXHHHXXXXXHHHHXHHHHHHHX                      XXXHHHX XX  XXH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCXXXXXXXXXCXXXXXCXCCCXX XXXCCCCCXCCCCCCXXXCCCCCXXXXCXXXXXXXC                      CCCXXXC CC  CCX
*----------------------------"-------"-""---"-""--"----"------"----------"--------"---"-""-"-"-+-ZZZZZZZZZ-ZZZZZZZXXX---"""""---"M-""
+............................C.......C.CC...C.CC..C....+......C..........C........C...C.CC.C.C.CC         C          C..CCCCC...+ .CC
+''''''''''''''''''''''''''''B'''''''B'BB'''B'BB''B''''C''''''B''''''''''B''''''''B'''B'BB'B'B'                       ''BBBBB'''C 'BB
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXHXHHXXXHXHHXXHXXXX XXXXXXHXXXXXXXXXXHXXXXXXXXHXXXHXHHXHXHX                       XXHHHHHXXX  XHH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCXCXXCCCXCXXCCXCCCC CCCCCCXCCCCCCCCCCXCCCCCCCCXCCCXCXXCXCXC                       CCXXXXXCCC  CXX
*---------------------------------------"-"--""-""---------------------------------"-"""""""""-MZZZZZZ----ZZZZZZZXXXZ+---"-"""---+"""
+.......................................C.C..CC.CC.................................C.CCCCCCCCC.       CCCC           C...C.CCC...C+CC
+'''''''''''''''''''''''''''''''''''''''B'B''BB'BB'''''''''''''''''''''''''''''''''B'BBBBBBBBB'                       '''B'BBB''' CBB
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHXXHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXHHHHHHHHHX                       XXXHXHHHXXX  HH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXCCXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCXXXXXXXXXC                       CCCXCXXXCCC  XX
*----------------------------------"---"--"---"""----------"--------"-------------"""""""""""-+ZZZZZ-ZZ-ZZZZZZZZZXXX-"----"+"------""
+..................................C...C..C...CCC..........C........C.............CCCCCCCCCCC.C     C  C            C+....+C+......CC
+''''''''''''''''''''''''''''''''''B'''B''B'''BBB''''''''''B''''''''B'''''''''''''BBBBBBBBBBB'                       C''''C C''''''BB
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXHXXHXXXHHHXXXXXXXXXXHXXXXXXXXHXXXXXXXXXXXXXHHHHHHHHHHHX                        XXXX   XXXXXXHH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCXCCXCCCXXXCCCCCCCCCCXCCCCCCCCXCCCCCCCCCCCCCXXXXXXXXXXXC                        CCCC   CCCCCCXX
*-------------------------------------------"--""-----"-"--"----"----------""--"-""""""""""""-MZZZZZZ---ZZZZZZZZZXXZ=---""M="--"-""""
+...........................................C..CC.....C.C..C....C..........CC..C.CCCCCCCCCCCC.       CCC            C...++ C+..+.CCCC
+'''''''''''''''''''''''''''''''''''''''''''B''BB'''''B'B''B''''B''''''''''BB''B'BBBBBBBBBBBB'                       '''CC  C''C'BBBB
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHHXXXXXHXHXXHXXXXHXXXXXXXXXXHHXXHXHHHHHHHHHHHHX                       XXX     XX XHHHH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXXCCCCCXCXCCXCCCCXCCCCCCCCCCXXCCXCXXXXXXXXXXXXC                       CCC     CC CXXXX
*-----------------------------------------""""-------------""--"-----------"-""--"""""""-"-"-=ZZZZZZZ----ZZZZZZZXXZ="---"-="-""-----"
+.........................................CCCC.............CC..C...........C.CC..CCCCCCC.C.C.C       CCCC          C+...+CC+.++.....C
+'''''''''''''''''''''''''''''''''''''''''BBBB'''''''''''''BB''B'''''''''''B'BB''BBBBBBB'B'B'                       C'''C  C'CC'''''B
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHXXXXXXXXXXXXXHHXXHXXXXXXXXXXXHXHHXXHHHHHHHXHXHX                        XXX    X  XXXXXH
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXCCCCCCCCCCCCCXXCCXCCCCCCCCCCCXCXXCCXXXXXXXCXCXC                        CCC    C  CCCCCX
*------------------"---"------------------"""------"-"""---"----"""-"--"-"-"--"---"""""""----MZZZZZZ---ZZZZZZZXXXZ="---+M="""----""--
+..................C...C..................CCC......C.CCC...C....CCC.C..C.C.C..C...CCCCCCC....       CCC           C+...C C+++....++..
+''''''''''''''''''B'''B''''''''''''''''''BBB''''''B'BBB'''B''''BBB'B''B'B'B''B'''BBBBBBB''''                      C'''   CCC''''CC''
+XXXXXXXXXXXXXXXXXXHXXXHXXXXXXXXXXXXXXXXXXHHHXXXXXXHXHHHXXXHXXXXHHHXHXXHXHXHXXHXXXHHHHHHHXXXX                       XXX      XXXX  XX
+CCCCCCCCCCCCCCCCCCXCCCXCCCCCCCCCCCCCCCCCCXXXCCCCCCXCXXXCCCXCCCCXXXCXCCXCXCXCCXCCCXXXXXXXCCCC                       CCC      CCCC  CC
*--------------------------------"--"-""""""-------"""------"---""--"--"---"--""""""""""----+ZZZZZZZZZZZZZZZZXXXZ=----+M+"""-----"---
+................................C..C.CCCCCC.......CCC......C...CC..C..C...C..CCCCCCCCCC....C                    C....C C+++.....+...
+''''''''''''''''''''''''''''''''B''B'BBBBBB'''''''BBB''''''B'''BB''B''B'''B''BBBBBBBBBB''''                      ''''   CCC'''''C'''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHXHHHHHHXXXXXXXHHHXXXXXXHXXXHHXXHXXHXXXHXXHHHHHHHHHHXXXX                      XXXX      XXXXX XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCXXXXXXCCCCCCCXXXCCCCCCXCCCXXCCXCCXCCCXCCXXXXXXXXXXCCCC                      CCCC      CCCCC CCC
*-------------------------------------"--""---------""----"-""--""-""""-----"""-"""""""------ZZZZZZZZZZZZZZZZXXZ=----=M+""------""---
+.....................................C..CC.........CC....C.CC..CC.CCCC.....CCC.CCCCCCC.....C                   C....C C++......++...
+'''''''''''''''''''''''''''''''''''''B''BB'''''''''BB''''B'BB''BB'BBBB'''''BBB'BBBBBBB'''''                     ''''   CC''''''CC'''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHHXXXXXXXXXHHXXXXHXHHXXHHXHHHHXXXXXHHHXHHHHHHHXXXXX                     XXXX     XXXXXX  XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXXCCCCCCCCCXXCCCCXCXXCCXXCXXXXCCCCCXXXCXXXXXXXCCCCC                     CCCC     CCCCCC  CCC
*-----------------------------------------"-----"-------""---"---""-""------"--"""---------+ZXZZZZZZZZZZXZXXXXZ="--"M=+""-----""""---
+.........................................C.....C.......CC...C...CC.CC......C..CCC.........C                   C+..+ CC++.....++++...
+'''''''''''''''''''''''''''''''''''''''''B'''''B'''''''BB'''B'''BB'BB''''''B''BBB'''''''''                     C''C   CC'''''CCCC'''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXHXXXXXXXHHXXXHXXXHHXHHXXXXXXHXXHHHXXXXXXXXX                      XX      XXXXX    XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXCCCCCCCXXCCCXCCCXXCXXCCCCCCXCCXXXCCCCCCCCC                      CC      CCCCC    CCC
*-----------------------------------------"--""""""""---"""-"--"--"---"---------------------ZZZZZZZZXZZXXXXXXZ="-"=M=+""-------""""--
+.........................................C..CCCCCCCC...CCC.C..C..C...C....................C                  C+.+C CC++.......++++..
+'''''''''''''''''''''''''''''''''''''''''B''BBBBBBBB'''BBB'B''B''B'''B''''''''''''''''''''                    C'C    CC'''''''CCCC''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHHHHHHHHXXXHHHXHXXHXXHXXXHXXXXXXXXXXXXXXXXXXXX                     X       XXXXXXX    XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXXXXXXXXCCCXXXCXCCXCCXCCCXCCCCCCCCCCCCCCCCCCCC                     C       CCCCCCC    CC
*-----------------------------------------------""""----"--""---------"-------------------+ZZZZZXZZZZZXZXXXXZ+--+=M+""--------""+""-"
+...............................................CCCC....C..CC.........C...................C                  C..CC C++........++C++.+
+'''''''''''''''''''''''''''''''''''''''''''''''BBBB''''B''BB'''''''''B'''''''''''''''''''                    ''    CC''''''''CC CC'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHHXXXXHXXHHXXXXXXXXXHXXXXXXXXXXXXXXXXXXX                    XX      XXXXXXXX     X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXXCCCCXCCXXCCCCCCCCCXCCCCCCCCCCCCCCCCCCC                    CC      CCCCCCCC     C
*-------------------------------------"--------"-""------"-""-----------------------------MZZXZZZZZZZZZXXXXZ+--+=++""--------""""""""
+.....................................C........C.CC......C.CC.............................                  C..CCCC++........++++++++
+'''''''''''''''''''''''''''''''''''''B''''''''B'BB''''''B'BB'''''''''''''''''''''''''''''                   ''    CC''''''''CCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXHXHHXXXXXXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                   XX      XXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCXCXXCCCCCCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                   CC      CCCCCCCC
*------------------------------------------""------------------------------------"-------+ZZXZZZZXXXXZXXXXZ+""=++""------"--""""""+"+
+..........................................CC....................................C.......C                 C++CCC++......+..++++++C+C
+''''''''''''''''''''''''''''''''''''''''''BB''''''''''''''''''''''''''''''''''''B'''''''                   CC   CC''''''C''CCCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXX                          XXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCC                          CCCCCC CC
*--------------------------------------------------------------------------------------"-MZXXZZZZXXXXXXXZM+"++""+"-----------"""""""+
+......................................................................................C.                 C+CC++C+...........+++++++C
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B'                  C  CC C'''''''''''CCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHX                         XXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXC                         CCCCCCCCCCC
*---------------------------------------------------------------------------------------"ZZZZZZXZXXXXXXZM+++""""--------------""""+++
+.......................................................................................+                CCC++++..............++++CCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C                   CCCC''''''''''''''CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                        XXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                        CCCCCCCCCCCCCC
*---------------------------------------------------------------------------------------MZXZZZXXXXXXXXZ=+"""+"-----------"""-"""""+"M
+.......................................................................................               CC+++C+...........+++.+++++C+
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''                 CCC C'''''''''''CCC'CCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                      XXXXXXXXXXX   X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                      CCCCCCCCCCC   C
*--------------------------------------------------------------------------------------+ZXZXZXXXXXXXXZ=+""+"----------------"""""+"M=
+......................................................................................C              CC++C+................+++++C+ C
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''                 CC C''''''''''''''''CCCCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                     XXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                     CCCCCCCCCCCCCCCC
*-----------------------------------------------------------------------------"--------MZXZXXXXXXXXXZM+"-"--------------------""+"=M+
+.............................................................................+........               C+.+....................++C+C C
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''''                C'C''''''''''''''''''''CC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXX                 X XXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCC                 C CCCCCCCCCCCCCCCCCCCC
*------------------------------"------------------------------------------------------+ZXXXXXXXXXAXZ="""----------------------""+=M+M
+..............................+......................................................C             C+++......................++CC C
+''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''               CCC''''''''''''''''''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                  XXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                  CCCCCCCCCCCCCCCCCCCCCC
*------------------------------------------------------------------------------------"-ZZZXXXXXXXAZ=""-------------------"---"""M=+MM
+....................................................................................+C            C++...................+...+++ CC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C              CC'''''''''''''''''''C'''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                 XXXXXXXXXXXXXXXXXXX XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                 CCCCCCCCCCCCCCCCCCC CCC
*-----------------------------------------------------------------------------"------+XZXXXXXXXXXZ+"------------------------"-"M==--+
+.............................................................................C......C            C+........................+.+ CCCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''''              C''''''''''''''''''''''''C'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXX               XXXXXXXXXXXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCC               CCCCCCCCCCCCCCCCCCCCCCCC C
*-------------------------------------------------------------------------------------XXXZ-ZZXXX-+------------------------"""+M++--==
+....................................................................................C    C     CC........................+++C CCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''             ''''''''''''''''''''''''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCCCCCCCCCCCCCCCC
*-----------------------------------------------------------------------------------+XXXXMZZZZZM+--------------------"--"""+==+=M-==M
+...................................................................................C           C....................+..+++CCCCC CCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''             ''''''''''''''''''''C''CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX             XXXXXXXXXXXXXXXXXXXX XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC             CCCCCCCCCCCCCCCCCCCC CC
*------------------------------------------------------------------------------------AXXXMXXXXXZ-="------------------"""""+M++MM-+=M"
+...................................................................................C           CC+..................+++++C CC  CCC +
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''              C''''''''''''''''''CCCCC          C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX               XXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC               CCCCCCCCCCCCCCCCCC
*----------------------------------------------------------------------------------+ZAXXXMXXXXXXXXXZ-+"-------------"""-"M="+MMM"+==+
+..................................................................................C                CC+.............+++.+ C+C   +CCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''                   C'''''''''''''CCC'C  C    C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                    XXXXXXXXXXXXX   X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    CCCCCCCCCCCCC   C
*---------------------------------------------------------------------------------"-=XXXZMXXXXXXXXXXXXZZM+""--------"--+=+"=MMZ="+-"+
+.................................................................................+C                     C++........+..CCC+C   C+C.+C
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C                       CC''''''''C''   C     C 'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                          XXXXXXXX XX           X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                          CCCCCCCC CC           C
*---------------------------------------------------------------------------------=XAXXXM=XXXXXXXZXXXXXXXXZ-M=""==M"-"+++=M--ZXZM="-"
+.................................................................................C      C                 C C++CC +.+CCCC CC    C+.+
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''                            CC   C'C            C'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                                  X              X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                                  C              C
*---------------------------------------------------------------------------------MXAX-="+XXXXXXXZXXXXXAXXAAXXZ-MM-MMM-M-ZZZXZM+""=MZ
+.................................................................................    CC+C                     C  C   C C      C++C
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''      C                                       CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*---------------"----------------------------------------------------------------"ZXZ+"--+XXXXXXXXXXXXAAAAAAAAXAXXAZZXXXXXXZM"+=ZXXXX
+...............+................................................................+   C+..C                                   +CC
+'''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C    C''                                    C
+XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XX
+CCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CC
*-----------------------------------"--------------------------------------------MZM+"-"-+XXXXXXXXXXXXXAAXXAAAAXAXXXXXXXXZMM-XXXXXXXX
+...................................+............................................   C+.+.C                                  C
+'''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''    C'C'
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     X X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     C C
*-------------------------------------------------------------------------------"M+"""---+XXXXXXXXXXAXXXAXXXXXAAAAAAAXAXXZXXAAAAXXXXX
+...............................................................................+ C+++...C
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C  CCC'''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CCC
*--------------------------"---------------------------------------------------------"---"XXXXXXXXXAXAXXXXXXXXXAAAXAAAAXXXXXXAXXXXXXX
+..........................+.........................................................+...+
+''''''''''''''''''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''C
+XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX
+CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC
*---------------------------------------------------------------------------------"------"XXXXAAXAAAAXXXXXXXXAXXAAAAAAXXZZZXXXXXXXXXX
+.................................................................................+......+
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC
*---------------------------------------------------------------------------------"""----"AXAAAXAXXXXXXXXXXXXXXXXZZZZZZZZZ--ZXXXXXXXX
+.................................................................................+++....+                                CC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCC''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCC
*"--------------------------"--------------------------------------------------"""""-----"XAAXXXXXXXXXXXXXXXXZZZ-Z-----Z------ZXXXXXX
++..........................+..................................................+++++.....+                      C CCCCC CCCCCC
+C''''''''''''''''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC'''''C
+ XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     XXXXX
+ CCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     CCCCC
*-----------------------------------------------------------------------------""""-----"+"XAXXXXXXXXXXXAXXZZZZZ-MM=MMMMMM-M-----XXXXX
+.............................................................................++++.....+C+                     C  C      C CCCCC
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC'''''C C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCC
*--"-----------------------------------------------------------------------"--+""-----+-Z+XAXAXXXXXXXXAXXZZZZMM=++""""+++==MMM-M-ZXXX
+..+.......................................................................+..C++.....CC C                     CCC++++CCCCC   C C
+''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'' CC'''''                            CCCC
+XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX   XXXXX
+CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC   CCCCC
*----------------------------------"-------------+----------------""----------------"=ZXZ=XAXXXXXXXXXAXZZ-MM++""---""--"""+"+++=M-ZXX
+..................................+.............C................++................+C   C               C  CC++...++..+++C+CCCC C
+''''''''''''''''''''''''''''''''''C''''''''''''' ''''''''''''''''CC''''''''''''''''C                         CC'''CC''CCC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXX                            XXX  XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC CCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCC                            CCC  CC
*----------------------------------=-------------------------------"---------------+MZXXZMXAXXXXXXXXXZ--M=+"----"""""""""""""""""+=-Z
+..................................C...............................+...............C                  CC CC+....+++++++++++++++++CCC
+'''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''C'''''''''''''''                        C''''CCCCCCCCCCCCCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX                         XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC                         CCCC
*-----"----------------------+-----"--------------------------------"------------"+ZXZXXZMXXXXXXXAXZ-M=+""----""++=+++++"""""-----""+
+.....+......................C.....+................................+............+C                 C CC++....++CCCCCCCC+++++.....++C
+'''''C'''''''''''''''''''''' '''''C''''''''''''''''''''''''''''''''C''''''''''''C                      CC''''CC        CCCCC'''''CC
+XXXXX XXXXXXXXXXXXXXXXXXXXXX XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXX                         XXXX               XXXXX
+CCCCC CCCCCCCCCCCCCCCCCCCCCC CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCC                         CCCC               CCCCC
*---"--"-----------------------M"-"-------------------------------""------------"MZXXXXX-ZXXXXXAAXM=+""------"""""=+++""--""""-------
+...+..+....................... +.+...............................++............+       C          CC++......+++++CCCC++..++++.......
+'''C''C''''''''''''''''''''''' C'C'''''''''''''''''''''''''''''''CC''''''''''''C                    CC''''''CCCCC    CC''CCCC'''''''
+XXX XX XXXXXXXXXXXXXXXXXXXXXXX  X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXX                       XXXXXX           XX    XXXXXXX
+CCC CC CCCCCCCCCCCCCCCCCCCCCCC  C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCC                       CCCCCC           CC    CCCCCCC
*---"----------------------------"------------------------------"-------------"=-XXXXXXX-ZXXXXAXZ=+"-------""------------------------
+...+............................+..............................+.............+CC       C        CC+.......++........................
+'''C''''''''''''''''''''''''''''C''''''''''''''''''''''''''''''C'''''''''''''C                    C'''''''CC''''''''''''''''''''''''
+XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX                      XXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXX
+CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCC                      CCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCC
*--"-------------------------------------------------------------------------"MZXXXXXXXX-XAAAAXM+"---------------"""""++"""""+"""--""
+..+.........................................................................+          C       C+...............+++++CC+++++C+++..++
+''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C                   C'''''''''''''''CCCCC  CCCCC CCC''CC
+XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                     XXXXXXXXXXXXXXX                XX
+CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                     CCCCCCCCCCCCCCC                CC
*---------------------------------------------------------------------------"-XXXXXXXXXXZAAAA-="-----------"""+====+=MMMMMMM=MM=++"--
+...........................................................................+C               CC+...........+++CCCCCCC       C  CCC+..
+'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C                  C'''''''''''CCC                    C''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX                    XXXXXXXXXXX                        XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                    CCCCCCCCCCC                        CC
*-----"--------------------------------------------------------"-----------"-XXXXXXXXXXXXAAX="----------"++==MM-Z------Z----M---MMM+"
+.....+........................................................+...........+C               C+..........+CCCC  C CCCCCC CCCC CCC   C+
+'''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''''C                 C''''''''''C                           C
+XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX                   XXXXXXXXXX
+CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCC                   CCCCCCCCCC
*"-------------------------------------------------------------"---------"+-XXXXXXXXXAAXXXM"----""----"+=MMMM-ZZZZZZZZZZZZZZZZZZZZ--M
++.............................................................+.........+CC               +....++....+CC    C                    CC
+C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'''''''''C                 C''''CC''''C
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX                   XXXX  XXXX
+ CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCC                   CCCC  CCCC
*--------------------------------------"------------------------"-"-----"=ZXXXXXXXAAXXZM="--""""--"-"+=MM---ZZXZZXZXXZZZZZZXZZZZZZZZZ
+......................................+........................+.+.....+C              C+..++++..+.+CC  CCC
+''''''''''''''''''''''''''''''''''''''C''''''''''''''''''''''''C'C'''''C                C''CCCC''C'C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXX X XXXXX                  XX    XX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCC C CCCCC                  CC    CC C
*--------------------------------------"---------------------"---""-----=ZXXXXXXAAAX-="---"-"----""==M---ZZZZZZZXXZZZZZZZZZXZXZXXZZZZ
+......................................+.....................+...++.....C           CC+...+.+....++CC CCC
+''''''''''''''''''''''''''''''''''''''C'''''''''''''''''''''C'''CC'''''              C'''C'C''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXX XXX  XXXXX               XXX X XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCC CCC  CCCCC               CCC C CCCC
*-------"---------"---"--------------------------------------""-""-----"ZXXXAXXAAXZ="----""-----"++--ZZZ-ZXZZXZXZXZZZZZZZZXXXXXZXZZZZ
+.......+.........+...+......................................++.++.....+           C+....++.....+CCCC   C
+'''''''C'''''''''C'''C''''''''''''''''''''''''''''''''''''''CC'CC'''''C            C''''CC'''''C
+XXXXXXX XXXXXXXXX XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X  XXXXX              XXXX  XXXXX
+CCCCCCC CCCCCCCCC CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C  CCCCC              CCCC  CCCCC
*----------------------------------------------------------------------MXXXXXXXZ-="-----"----""+=M----ZZZZXZZXZZZZZZZZZZZXZXXXXXXXZZZ
+......................................................................         CC+.....+....++CC CCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''           C'''''C''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX            XXXXX XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC            CCCCC CCCC
*-"---"---------"----------"------------------------------------------"ZXXXXXZM+"----"""--"""+=M-----ZZZZZZZZZXZZXXZZXXZXXXXXXXXXXZZZ
+.+...+.........+..........+..........................................+        C+....+++..+++CC CCCCC
+'C'''C'''''''''C''''''''''C''''''''''''''''''''''''''''''''''''''''''C         C''''CCC''CCC
+X XXX XXXXXXXXX XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX           XXXX   XX
+C CCC CCCCCCCCC CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC           CCCC   CC
*"--"-----------------------------""----------------------------------MXXAXX-+"-----"+"--"+==MM----ZZZZZZZXZZZXZXXXXXXXXXXXXXXXXXXZZZ
++..+.............................++..................................      CC+.....+C+..+CCC  CCCC
+C''C'''''''''''''''''''''''''''''CC''''''''''''''''''''''''''''''''''        C'''''C C''C
+ XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX         XXXXX   XX
+ CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC         CCCCC   CC
*-----"------------------------------------------------------------"-+XAXXZM"-----""""--+MMMM-----ZZZZZZZZZZZXXXXXXXXXXXXXXXXXXXXZZZZ
+.....+............................................................+.C      +.....++++..C    CCCCC
+'''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'       C'''''CCCC''
+XXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X        XXXXX    XX
+CCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C        CCCCC    CC
*"------------""----"--------------"--------------------------------"-XXZM="------"+""-+M-M-M-----ZZZZZZZZXZXXXXXXXXXXXXXXXXXXXXXXZZZ
++............++....+..............+................................+C    C+......+C++.C C C CCCCC
+C''''''''''''CC''''C''''''''''''''C''''''''''''''''''''''''''''''''C      C''''''C CC'
+ XXXXXXXXXXXX  XXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        XXXXXX    X
+ CCCCCCCCCCCC  CCCC CCCCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        CCCCCC    C
*"---"-------"-"-"--"""---------------------------------------------+ZXZM"------""+=+"+M-----ZZZZ-ZZZZZZZZZXZXXXXXXXXXXXXXXXXXXXXZZZZ
++...+.......+.+.+..+++.............................................C    +......++CCC+C CCCCC    C
+C'''C'''''''C'C'C''CCC'''''''''''''''''''''''''''''''''''''''''''''     C''''''CC   C
+ XXX XXXXXXX X X XX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XXXXXX
+ CCC CCCCCCC C C CC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CCCCCC
*-------"--------""-"-"-----------"---------------------------------MZ-="------"++M="+M--ZZZ-Z----ZZZZZZZXZXXXXXAXXXXXXXXXXXXXXZXZZZX
+.......+........++.+.+...........+.................................  CC+......+CC C+C CC   C CCCC
+'''''''C''''''''CC'C'C'''''''''''C'''''''''''''''''''''''''''''''''    C''''''C    C
+XXXXXXX XXXXXXXX  X X XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     XXXXXX
+CCCCCCC CCCCCCCC  C C CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     CCCCCC
*-"-""------"--""-"-------"----------------------------------------"Z-+-------"=MM-+"+M-Z-ZZ-ZZZZZZZZZXZXXXXZXXXXXXXXXXXXAAXXXXXXZZXX
+.+.++......+..++.+.......+........................................+ CC.......+C  CC+C C C  C
+'C'CC''''''C''CC'C'''''''C''''''''''''''''''''''''''''''''''''''''C   '''''''C     C
+X X  XXXXXX XX  X XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXX
+C C  CCCCCC CC  C CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCC
*"""---"-----------"-----------------------------------------------M="------""+M===++M--ZZZZZZZ-ZZZZZZZXZZZZXXXXXZXXZZXZXXXXXXXXXZZZX
++++...+...........+............................................... C+......++C CCCCC CC       C
+CCC'''C'''''''''''C'''''''''''''''''''''''''''''''''''''''''''''''  C''''''CC
+   XXX XXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXX
+   CCC CCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCC
*"""---"-"""------"----"-"----------------------------------------"+"------""==MM=++=M-ZZZZZZZZ--Z-ZZZZZXXZZXZZZZZXXZXZZZZXXZXZZZZZZZ
++++...+.+++......+....+.+........................................+C+......++CC  CCCC C        CC C
+CCC'''C'CCC''''''C''''C'C''''''''''''''''''''''''''''''''''''''''C C''''''CC
+   XXX X   XXXXXX XXXX X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX   XXXXXX
+   CCC C   CCCCCC CCCC C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC   CCCCCC
*""""----"""--------"------------------------------------------------------"+MMMMM++=M-ZZZZZZ----ZZZZZZZZZZZZZZZZXZZZZZZZZZZZZZZZZZZZ
+++++....+++........+......................................................+C     CCC C      CCCC
+CCCC''''CCC''''''''C''''''''''''''''''''''''''''''''''''''''''''''''''''''C
+    XXXX   XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+    CCCC   CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"""""""-""""""""-"-""----------------------------------------------------"+MMM--=++=MZZZZZZ-ZZZZ-ZZZZZZZZZZZZZZZZZZXXZZZZZZXXZZZZXZZ
++++++++.++++++++.+.++....................................................+C   CCCCCC       C    C
+CCCCCCC'CCCCCCCC'C'CC''''''''''''''''''''''''''''''''''''''''''''''''''''C
+       X        X X  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+       C        C C  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"""""-""--""""-"--------------------------------------------------------"+MM---M===M-ZZZZZZZZZ-ZZZZZZZZZZZZZZZZ-Z-Z-Z-Z-ZZZ-ZZZZZZXZ
++++++.++..++++.+........................................................+C  CCC CCC C         C                C C C C C   C
+CCCCC'CC''CCCC'C''''''''''''''''''''''''''''''''''''''''''''''''''''''''C
+     X  XX    X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+     C  CC    C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*""""--""--"-""-------"-------------------------------------------------"+MM----M==--ZZZZXZZZZ-ZZZZZZZZZZZZ-ZZZZ----M-----ZZ--ZZZZZZZ
+++++..++..+.++.......+.................................................+C  CCCC CCCC         C            C    CCCC CCCCC  CC
+CCCC''CC''C'CC'''''''C'''''''''''''''''''''''''''''''''''''''''''''''''C
+    XX  XX X  XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+    CC  CC C  CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"-----"--"-------"---------------------------------------------------"+==---Z--==M-ZZZZZZZZZZZZZZZZZZZZZZ-ZZZZZZZXZZXXXZZZZZZZZZZZZZ
++.....+..+.......+...................................................+CCCCCC CCCC C                      C
+C'''''C''C'''''''C'''''''''''''''''''''''''''''''''''''''''''''''''''C
+ XXXXX XX XXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ CCCCC CC CCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--------------------------------------------------------------------"+=---ZZ---=--ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXZZZXXXXZZXZXZZXXXZZZ
+....................................................................+CCCCC  CCCCCC
+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--------------"---------=-------------------------------------------+=M-M---MMM=-ZZZZZZZZZZZZ-ZZZZZZZZZZXZZZZZZZZZXAXXXXXXXXXZZZZ---
+..............+.........C...........................................CC C CCC   CC            C                                   CCC
+''''''''''''''C''''''''' '''''''''''''''''''''''''''''''''''''''''''
+XXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCC CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--------------------------""------"----------------"---------------"=M-----M==MM-ZZZZZZZZZ---MMZZZZZZ-ZZZZZZ-ZZZXXXXXXXXXX---ZM=+=M=
+..........................++......+................+...............+C CCCCC CC  C         CCC        C      C             CCC  CCC C
+''''''''''''''''''''''''''CC''''''C''''''''''''''''C'''''''''''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXX  XXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCC  CCCCCC CCCCCCCCCCCCCCCC CCCCCCCCCCCCCCC
*------------------------------"---"------------------""------------+=M--M-MMMM=MM-ZZZZZZZ-MM=+MM-ZZZZZ----Z--ZZ-ZXZXZZXZ-M+"++""""=+
+..............................+...+..................++............CC CC C    C  C       C  CC  C     CCCC CC  C        C C+CC++++CC
+''''''''''''''''''''''''''''''C'''C''''''''''''''''''CC''''''''''''                                                        C  CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX XXXXXXXXXXXXXXXXXX  XXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCC CCCCCCCCCCCCCCCCCC  CCCCCCCCCCCC
*---------------"-------------+="""="+"--------------"-------------+M=---M-MM-MM--ZZZZXXXZ-="-+M---M+Z----Z--Z=+"+=""""+++--------="-
+...............+.............CC+++C+C+..............+.............C CCCC C  C  CC        CC+.C CCC C CCCC CC CC+CC++++CCC........C+.
+'''''''''''''''C'''''''''''''  CCC C C''''''''''''''C'''''''''''''                         C'                  C  CCCC   '''''''' C'
+XXXXXXXXXXXXXXX XXXXXXXXXXXXX         XXXXXXXXXXXXXX XXXXXXXXXXXXX                          X                            XXXXXXXX  X
+CCCCCCCCCCCCCCC CCCCCCCCCCCCC         CCCCCCCCCCCCCC CCCCCCCCCCCCC                          C                            CCCCCCCC  C
*------------------------------"--"="+=----""----------"-----------+MM---M------ZZZZXXXXZZ-++"++=+MM=ZZ---M+M+"-""-""+++++++"""----++
+..............................+..+C+CC....++..........+...........C  CCC CCCCCC          CCC+CCCC  C  CCC C C+.++.++CCCCCCC+++....CC
+''''''''''''''''''''''''''''''C''C C  ''''CC''''''''''C'''''''''''                          C                C'CC'CC       CCC''''
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX     XXXX  XXXXXXXXXX XXXXXXXXXXX                                            X  X            XXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC     CCCC  CCCCCCCCCC CCCCCCCCCCC                                            C  C            CCCC
*------------------------------""-"=""-"---"=+--------------------"=------------ZZZXXXZXXZ-M=+++==+=+M==++"""""-+"-"++++"+=+""-+""+"=
+..............................++.+C++C+...+CC....................+CCCCCCCCCCCCC          C CCCCCCCCC CCCC+++++.C+.+CCCC+CCC++.C++C+C
+''''''''''''''''''''''''''''''CC'C CC C'''C  ''''''''''''''''''''C                                       CCCCC' C'C    C   CC' CC C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X      XXX   XXXXXXXXXXXXXXXXXXXX                                             X  X           X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C      CCC   CCCCCCCCCCCCCCCCCCCC                                             C  C           C
*------------------------------""-"=="-=--""+M++------"-"-""------"MM----MMM----ZZZZXZXZXZ-===+=M=+"""---"-"-""""+""""++"==+++-+-"""+
+..............................++.+CC+CC..++C CC......+.+.++......+  CCCC   CCCC          CCCCCC CC+++...+.+.++++C++++CC+CCCCC.C.+++C
+''''''''''''''''''''''''''''''CC'C  C  ''CC    ''''''C'C'CC''''''C                                CCC'''C'C'CCCC CCCC  C     ' 'CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X      XX      XXXXXX X X  XXXXXX                                    XXX X X                 X X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C      CC      CCCCCC C C  CCCCCC                                    CCC C C                 C C
*----------------"------"-"-"-"="""+M++-"---"++""-----""+--"------"M----MMM-----ZZZZZX-Z--Z-M=+MM"+-"+"+++"+="""-++"-""M=""+++"+++-"+
+................+......+.+.+.+C+++C CCC+...+CC++.....++C..+......+ CCCC   CCCCC      C CC C CC  +C.+C+CCC+CC+++.CC+C++ C++CCC+CCC.+C
+''''''''''''''''C''''''C'C'C'C CCC     C'''C  CC'''''CC ''C''''''C                              C 'C C   C  CCC'  C CC  CC   C   'C
+XXXXXXXXXXXXXXXX XXXXXX X X X           XXX     XXXXX   XX XXXXXX                                 X            X                 X
+CCCCCCCCCCCCCCCC CCCCCC C C C           CCC     CCCCC   CC CCCCCC                                 C            C                 C
*------------------------""""""++"+"M+"=+""-"+M+""--"-""""-------"+---M===M-Z---ZZZZXZZ--ZX-=MM-=+M"+++"++"-""=+"=+"""==M=M++""+""++"
+........................++++++CC+C+ C+CC++.+C C++..+.++++.......+CCCC CCC C CCC       CC  CC  CCC +CCC+CC+.++CC+CC+++CC C CC++C++CC+
+''''''''''''''''''''''''CCCCCC  C C  C  CC'C   CC''C'CCCC'''''''C                                 C   C  C'CC  C  CCC       CC CC  C
+XXXXXXXXXXXXXXXXXXXXXXXX                  X      XX X    XXXXXXX                                          X
+CCCCCCCCCCCCCCCCCCCCCCCC                  C      CC C    CCCCCCC                                          C
*-----------------------""""""""=++=+=""M++""""+"++""""-"--------"+--M===MM------ZZZZZZZ-ZX-MZ--+++-++-+""+""+"=++M======--M++++="+="
+.......................++++++++CCCCCC++ CC++++C+CC++++.+........+CCC CCC  CCCCCC       C  C  CCCCC.CCCC++C++C+CCC CCCCCCCC CCCCC+CC+
+'''''''''''''''''''''''CCCCCCCC      CC   CCCC C  CCCC'C''''''''C                                 '    CC CC C                  C  C
+XXXXXXXXXXXXXXXXXXXXXXX                               X XXXXXXXX                                  X
+CCCCCCCCCCCCCCCCCCCCCCC                               C CCCCCCCC                                  C
*------------"------"+"---"""--"+=+++M=""M==="""""+M+++""--------""MMM+=MMM-----ZZZZZZZZZZXZ-ZZZ-""""+MM++=+"+=++M--==M=MMM=+++M=++M+
+............+......+C+...+++..+CCCCC C++ CCC+++++C CCC++........++   CC   CCCCC            C   C++++C  CCCC+CCCC CCCC C   CCCC CCC C
+''''''''''''C''''''C C'''CCC''C       CC    CCCCC     CC''''''''CC                              CCCC       C
+XXXXXXXXXXXX XXXXXX   XXX   XX                          XXXXXXXX
+CCCCCCCCCCCC CCCCCC   CCC   CC                          CCCCCCCC
*---""---""""++"--"""""""--""""""M=+M=-="=MM-="-++"+=+++"----"""-"+=M==MMMMM----ZZZZZZZXXZXZ-MZZ-M-++---++=+"+-=-MZZMMM=-=M==M=MMM-MM
+...++...++++CC+..+++++++..++++++ CC CCC+C  CC+.CC+CCCCC+....+++.+CC CC     CCCC            C   C CCCCCCCCCC+CCCC      CCC CC C   C
+'''CC'''CCCC  C''CCCCCCC''CCCCCC       C     C'  C     C''''CCC'C                                          C
+XXX  XXX       XX       XX                    X         XXXX   X
+CCC  CCC       CC       CC                    C         CCCC   C
*--"""""""+++"+++"""++++"----++"+=M==M-M+"MM---+++""=--""---"""---"M====MMMM-----ZZZZZXXXXZZ------M-M-M-=-++M=--ZZZZMZM--=+=+=M--MM+-
+..+++++++CCC+CCC+++CCCC+....CC+CC CC C C+  CCCCCC++C..++...+++...+ CCCC    CCCCC           CCCCCC C C CCCCC CCC       CCCCCCC CC  CC
+''CCCCCCC   C   CCC    C''''  C         C        CC ''CC'''CCC'''C
+XX                      XXXX                        XX  XXX   XXX
+CC                      CCCC                        CC  CCC   CCC
*--"""-""-"""""====+===+"-----+=++MMMMM-="=-MMM+MM="+"-+----""---"+=====MMM------ZZZZZXZXXZZZZ--ZM-Z----ZZM+-Z--ZZZZZMZZ-Z"++M--Z-MMZ
+..+++.++.+++++CCCCCCCCC+.....CCCC     CC+CC   C  C+C+.C....++...+CCCCCC   CCCCCC             CC  C CCCC   CC CC        C +CC CC C
+''CCC'CC'CCCCC         C'''''           C         C C' ''''CC'''C                                                        C
+XX   X  X               XXXXX                        X XXXX  XXX
+CC   C  C               CCCCC                        C CCCC  CCC
*-"""--""""""""+=MMM==M="--"-""MM=MMMMMM-+"MM==""+M"=""+----""----+====MM-------ZZZZZXXZXXZZZZ-ZZZ-Z-M-ZZ-Z-M-MZZZM--MZ--XZZM-MMMZZZZ
+.+++..++++++++CC   CC C+..+.++  C      CC+  CC++C +C++C....++....CCCCC  CCCCCCC              C   C C C  C C C     CC  CC    C
+'CCC''CCCCCCCC         C''C'CC           C    CC  C CC ''''CC''''
+X   XX                  XX X                           XXXX  XXXX
+C   CC                  CC C                           CCCC  CCCC
*""""----"+=""--"+=+=M-MM"-+"+"M--M=M--MMM""MM"---+=+"""---""+""--"=MMMM---------ZZZXXXXXXXXXZZXXXXZZZXXXZZZZZ--ZZZZZXZ=M+===+=MZZXZ-
+++++....+CC++..+CCCC C  +.C+C+ CC C CC   ++  +...CCC+++...++C++..+C    CCCCCCCCC                             CC       C CCCCCC     C
+CCCC''''C  CC''C        C' C C           CC  C'''   CCC'''CC CC''C
+    XXXX     XX          X                    XXX      XXX     XX
+    CCCC     CC          C                    CCC      CCC     CC
*""""---"-""==+"""+=++M-MM=+++"M+M-MM---M-=""M="--"+M++"---+++""""==MMMM--ZZ-----ZZZXXZXXXXXXXXAXXXZZXXXZXXXZZZZXXZ-ZZM"=++"+"""+M-ZX
+++++...+.++CCC+++CCCC C  CCCC+ C C  CCC CC++ C+..+C CC+...CCC++++CC    CC  CCCCC                                  C   +CCC+C+++C C
+CCCC'''C'CC   CCC            C            CC  C''C    C'''   CCCC                                                     C   C CCC
+    XXX X                                      XX      XXX
+    CCC C                                      CC      CCC
*"""""--""--"=M=""""+=M-MM-===+="+-------M-+"=MM"--+M+"---"+"=+"""=M=MM----Z-----ZZZZXXXXXXXXXXXXXXXXXXXXXXXZXXXXZZZM++=M---MM==+"=ZX
++++++..++..+C C++++CC C  CCCCCC+CCCCCCCC CC+C  +..C C+...+C+CC+++C C  CCCC CCCCC                                    CCC CCC  CCC+C
+CCCCC''CC''C   CCCC            C           C   C''   C'''C C  CCC                                                               C
+     XX  XX                                     XX    XXX
+     CC  CC                                     CC    CCC
*-"""""-""---"+==""-"MMMM=--=MM+""M-M-M--MMM=+MMM"-++""---+++=+"""+MM=M---------ZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXZ--+"=M--ZZZZZZ--M+=-
+.+++++.++...+CCC++.+    CCCC  C++ C C CC   CC   +.CC++...CCCCC+++C  C CCCCCCCCC                                 CCC+C CC      CC CCC
+'CCCCC'CC'''C   CC'C           CC               C'  CC'''     CCC                                                  C
+X     X  XXX      X                              X    XXX
+C     C  CCC      C                              C    CCC
*--++++"""-----"=M""++=M-MMZ-MMM="+-MM-MM-M=-==--=-"="---"++==+"""+=MMM------Z-ZZZZZZXXXXXAXXXXXXAAXXXXXXAAAXXZZXM""M---ZZXXXXXXXZZ+"
+..CCCC+++.....+C ++CCC C   C   C+CC  C  C CCCCCCC.+C+...+CCCCC+++CC   CCCCCC C                                   ++ CCC           C+
+''    CCC'''''C  CC             C                'C C'''C     CCC                                                CC                C
+XX       XXXXX                                   X   XXX
+CC       CCCCC                                   C   CCC
*--+"+"+"+""+"""=MM+"+==M-MM--=-=""-MM=MM--=+-=+MM"-M"---"++==+"-"==M------Z----ZZZZZZZXXXXXXXXXXXXXXXXXXXX-MMM=""+MMMM-ZXXXXXXXXAXZM
+..C+C+C+C++C+++C  C+CCC C  CCCCC++C  C  CCCCCCC  +. +...+CCCCC+.+CC CCCCCC CCCC                           C   C++C    C
+'' C C C CC CCC    C            CC               C' C'''C     C'C                                              CC
+XX                                                X  XXX       X
+CC                                                C  CCC       C
*--""++""+++++"""+MM+"+=MM-MM-MMM++=-M==MMMM++-++M"-""---"+==++"""=MM------Z----ZZZZZZXXXXXXAXXXXZXXXXXXXX=+=M==MM-MM-ZZXXXXXAXXAAXXZ
+..++CC++CCCCC+++C  C+CC  C  C   CCCC CC    CCCCC +.++...+CCCCC+++C  CCCCCC CCCC                          CCC CC  C  C
+''CC  CC     CCC    C                            C'CC'''C     CCC
+XX                                                X  XXX
+CC                                                C  CCC
*---"+""-"+"+=+"-""-M++==MM=MM==MM==-=M===M=="+=-----"--"+++==++""=MM-----ZZZ---ZZZZZZZZZXXXAXAXXXZXXXXXXZ+M-ZZZZ--M-ZZXXXXAAAXAAAXZX
+...+C++.+C+CCC+.++C CCCC  C  CC  CCCC CCC CC+CC.....+..+CCCCCCC++C  CCCCC   CCC                          C C    CC C
+'''C CC'C C   C'CC                          C  '''''C''C       CC
+XXX    X       X                               XXXXX XX
+CCC    C       C                               CCCCC CC
*---"+"+"""++=+=+""+Z="===-=M-MMM-M+M-M=+==+=="--"+M--M-"""+=++"-"+=---M----Z--Z--ZZZZZZXXXXXXXXXXZZXXXXX-=MZZZZZ-M-ZXZXXAAAAAXAXXXXX
+...+C+C+++CCCCCC++C C+CCCCC C   C C C CCCCCCC+..+C CC .+++CCCC+.+CCCCC CCCC CC CC                       CC      C C
+'''C C CCC      CC   C                       C''C     'CCC    C'C
+XXX                                           XX      X        X
+CCC                                           CC      C        C
*----+"+=+""+=++=+""MM"+M=MM---=M--==--+++"+++--+M-ZZZ-""+++++++""+=------ZZZ-Z---ZZZZZZXXAXAXAXAXXZZXXXX-==-ZZZ-MMZZXXXXAAAXAXXXXXXX
+....C+CCC++CCCCCC++  +C C  CCCC CCCCCCCCC+CCC..C C   C++CCCCCCC++CCCCCCCC   C CCC                       CCCC   C
+'''' C   CC      CC  C                   C   ''       CC       CC
+XXXX                                         XX
+CCCC                                         CC
*--"""+""++++++=+""+=-+++=MMM-MMMM-M=MZ="="++--+M--ZZZM"""+++=++""+M-M----ZZZ--Z--ZZZZZZZXXXXXXXXXXXZZXXX-=M--ZZ-==ZZXXXXAAAAXXXXXXXX
+..+++C++CCCCCCCC++CCCCCCC   C    C C  C+C+CC..C CC    +++CCCCCC++C C CCCC   CC CC                       CC CC  CCC
+''CCC CC        CC                     C C  ''        CCC      CC
+XX                                          XX
+CC                                          CC
*--"""+""""+=M+++""++M+++=MMMMMMMM-MMM-M+=++"-=M-ZZZZZ=""++++=++"""=MM-----ZZ-ZZZZZZZZZZZZZXXAXXXXAXXXXZZZM=M--Z-==-ZXXXXAXXXXXXXXXXZ
+..+++C++++CC CCC++CC CCCC        C   C CCCC+.C C     C++CCCCCCC+++C  CCCCC  C                             C CC CCCC
+''CCC CCCC      CC                         C'         CC       CCC
+XX                                          X
+CC                                          C
*"""--"""""++==+M+""+++===M=M=M=MM-MMMM-=+++"+M--ZZZZZ+"+=+++==+"-"===MM--Z-Z-ZZZZZZ-ZZZZZZXXXAXXAAXXXXXZZMM=M--M==-ZZZXXXXXXXXXZZXXZ
++++..+++++CCCCC C++CCCCCC C C C  C    CCCCC+C CC     C+CCCCCCCC+.+CCC  CC C C      C                       C CC CCC
+CCC''CCCCC       CC                        C          C        C'C
+   XX                                                           X
+   CC                                                           C
*------""""+""+++=++"+=M==M=M===+=MMMM=--=+++MM--ZZZZ-""++"++===+-"=MMMMM---ZZZZZZZZZZZZZZZZXAAAXXXXXXXXXZZMM=MMM==--ZZZXXXXXXXXZZXZZ
+......++++C++CCCCCC+CC CC C CCCCC    CCCCCCC  CC    C++CC+CCCCCC.+C     CCC                                 C   CCCC
+''''''CCCC CC      C                                 CC  C      'C
+XXXXXX                                                          X
+CCCCCC                                                          C
*--------"""""""+++++=MM====MMM=+"+M-MMMMM+"+MM--ZZZX-"""""++==="-"+=MMMM--Z-ZZZZZZZZZZZZZZZXXXXXXXXXXXXXXZZ-MMMM=+M-ZZZXXXXXXXXXZZZZ
+........+++++++CCCCCC  CCCC   CC+C C     C+C  CC    C+++++CCCCC+.+CC    CC C                               C    CC C
+''''''''CCCCCCC                 C         C          CCCCC     C'C
+XXXXXXXX                                                        X
+CCCCCCCC                                                        C
*-----------"""""""""=MM=+=M=MM=+++=MMMM=MM+M-M-ZZZZZM"+"+"+====+-"+=MM-MZZ--ZXZXZZXZZXXZZZZXXXXXXXXXXXXXXXZZZMMM="M-ZZZZXXXXXXXXZZZZ
+...........+++++++++C  CCC C  CCCCC    C  C C C      +C+C+CCCCCC.+CC  C   CC                                    C+ C
+'''''''''''CCCCCCCCC                                 C C C      'C                                               C
+XXXXXXXXXXX                                                     X
+CCCCCCCCCCC                                                     C
*----------"---""""""=M-++=M==M=+++=MMMMMMM=M--ZZXXXZM""+=+++=+++""+=MM-M-Z-ZZXZXXXXXXXXXXZZZZXAXXXXXXXXXXXXXZZ-M=+=-ZZXXXXXXXXXXZZZZ
+..........+...++++++C CCCC CC CCCCC       C CC       ++CCCCCCCCC++CC  C C C                                   C CCCC
+''''''''''C'''CCCCCC                                 CC         CC
+XXXXXXXXXX XXX
+CCCCCCCCCC CCC
*----------""--""""-"+MM=+-M==M+==+=MMM-MMM=M--Z-ZZXX=""++++=M==+""+=MM---ZZZZXXZXXXXXXXXZXZZZZXXXXXXXZZZXXZXZZ--MMM--ZXXXXZXXXXXXZZZ
+..........++..++++.+C  CCC CC CCCCC   C   C CC C    C++CCCCC CCC++CC  CCC                                     CC   CC
+''''''''''CC''CCCC'C                                 CC         CC
+XXXXXXXXXX  XX    X
+CCCCCCCCCC  CC    C
*-----------"""""---"+MM=MMM=+===++==MMM--M+=M--ZZXXX="+"+++==+=+""+MMMM--ZZZXXXXXXXXXXXXXXXXZZXXXXXXXZZZZZZZZZ-------ZXZZXXZXXXXXXZ-
+...........+++++...+C  C   CCCCCCCCC   CC CC CC     C+C+CCCCCCCC++C    CC                                     CCCCCCC              C
+'''''''''''CCCCC'''C                                 C C        CC
+XXXXXXXXXXX     XXX
+CCCCCCCCCCC     CCC
*---------"""""""---"=M=MM-M==MM==++==MMMMM"=MZ-ZZXXZ+"+"=+===+=+""++M----ZZZXXXXXXXXXXXXXXXXXZXXXXXXXXXZZZZZZZZ-M--ZZZZZXXXZXXXXZZZM
+.........+++++++...+C C  C CC  CCCCCC     +C  C     C+C+CCCCCCCC++CC CCCC                                      C CC
+'''''''''CCCCCCC'''C                      C          C C        CC
+XXXXXXXXX       XXX
+CCCCCCCCC       CCC
*"---""---"---"+----+M==M--M=M-====++=MM-==+----ZXXAZ+"+"+=MM==++""=+M-Z--ZXXXXAXXXXXXXXXXXXXXZXXXXXXXXXXZXZZZZZZZ----ZZZXXXXXXXZXX-M
++...++...+...+C....C CC CC C CCCCCCCC  CCCCCCCC     C+C+CC  CCCC++CC C CC                                        CCCC             C
+C'''CC'''C'''C ''''                                  C C        CC
+ XXX  XXX XXX  XXXX
+ CCC  CCC CCC  CCCC
*"---""-"-"---"+"---+M==MMM=--MM=M=+=M-MM+"=Z-M-ZXXX-+""++==M==++"++=M-ZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXZZZZZZZ---ZZZZXXXXXXXXZZMM
++...++.+.+...+C+...C CC   CCC  C CCC C  C+C C C    CC++CCCC CCCC+CCC C                                           CCC
+C'''CC'C'C'''C C'''                      C           CC         C
+ XXX  X X XXX   XXX
+ CCC  C C CCC   CCC
*""--""--"---"++--""=M==MM=M-MMMMMM=MMM-="+-Z-=-ZXXXM+"+"+======++++=--ZZZZXXXXXXXXXXXXXAAXXXXXXXXXXXAAXXXZZZZZZZZZ---ZZZXXZXXXZZZZMM
+++..++..+...+CC..++C CC  C C      C   CC+CC CCC     C+C+CCCCCCCCCCCCCC                                            CCC
+CC''CC''C'''C  ''CC                     C            C C
+  XX  XX XXX   XX
+  CC  CC CCC   CC
*""-""""-"""-""+"-"+-M===MM-M=MMMMMM----+-M-MMM-ZXXZ=+"+"+=====++++=M--ZZXXXXXXXXXXXZXXXXXXXXXXXXXXXXAAAAXXZZZZ--ZZZ-ZZZZZXXXXXXZZ-M-
+++.++++.+++.++C+.+CC CCC  C C      CCCCC. C   C    CC+C+CCCCCCCCCCC CC                                        CC   C             C C
+CC'CCCC'CCC'CC C'C                      '            C C
+  X    X   X    X                       X
+  C    C   C    C                       C
*"-""--"-"+"++"+"""+-MMM==-===M--MMMA--Z+"-MMZ-ZZXXMM+"++==M===+++==MZ-ZXXXXXXXXXZZXXXXXXXXXXXXXXXAAAAAAAAXZZZZZ-ZZ---ZZZZZXXXXXXZ-M-
++.++..+.+C+CC+C+++CC   CCCCCC CC    CC C+C   C      C+CCCC CCCCCCCC  C                                         C  CCC            C C
+C'CC''C'C C  C CCC                      C            C
+ X  XX X
+ C  CC C
*"""""--""""-""++""+-===MM-===M---M-----M+-M-XZZZX-=-=""++MMM=+++++=MZZZZZXXXAXXZZZZZZXZXXXXXXXXXXXXAXXAXXXZZZZZ-ZZ--ZZZZZXXAXXXZZMMZ
++++++..++++.++CC++CCCCC  CCCC CCC CCCCC CC C     CCCC++CC   CCCCCCC                                            C  CC
+CCCCC''CCCC'CC  CC                                   CC
+     XX    X
+     CC    C
*""+"""--""""""++""+-++=M-M=MM------ZZ--++MZXXXZX-+M-="+++MMM=+++==M-ZZZZZXXXXXZZZZZZZZXZXXXXXXXXXXXXXXXXXAZ-ZZZZZZ-ZZZZZZXXAXXZZ-M--
+++C+++..++++++CC++CCCCC C C  CCCCCC  CCCC       CC CC+CCC   CCCCCC C                                       C      C             C CC
+CC CCC''CCCCCC  CC                                   C
+      XX
+      CC
*""""++--"---""++""=M++MM--MMM------ZZ--"=ZZXXXXZM+--+"+++===++++=MMM-ZXXXZZZXXZZZ--ZZZZZZXXXXXXXXXXXXXXXXXX-ZZZ-Z--ZZZZXXXXXXZZ--MM-
+++++CC..+...++CC++C CC  CC   CCCCCC  CC+C        CCCC+CCCCCCCCCCC   C            CC                        C   C CC            CC  C
+CCCC  ''C'''CC  CC                     C             C
+      XX XXX
+      CC CCC
*++""+=+""""-+"+=+"MM+=M-ZZMMM--------MM"-ZXXXXXX-+-Z+"+++====+++=MM-ZZXXXZZXXZZZZZMM-ZZ-ZZZZZZZXXXZXXXXXXXAZZZZ-Z--ZZZZXXXAXXXZ-MMM-
+CC++CCC++++.C+CCC+  CC C     CCCCCCCC  +C       CCC C+CCCCCCCCCCC  C                C  C                       C CC            C   C
+  CC   CCCC' C   C                     C             C
+           X
+           C
*=++""++""+"-"+"==+M-+=MZZZ-M=--------MM+ZXXXXXXXZ=--+"+"++==+====M--ZZXXZZ-ZXXZ---Z--MMM-ZZ---ZZZZZZZXXXXZZZZZZZ----ZZXXXXXXXZZ-MM--
+CCC++CC++C+.+C+CCC CCC    C CCCCCCCCC  C         CCCC+C+CCCCCCCCC CC      C    CCC CC   C  CCC                  CCCC           C  CC
+   CC  CC C'C C                                      C C
+           X
+           C
*M==+"++""++""=++M=MM=M-ZZZ-=M----ZZ--M-MZXXXXXXXX--M"""+++=++===MM--ZZXXXXZZZXX---Z----Z--ZZZZZZZZ-ZZZZZZXZZ--Z-----ZXZZXXXXXZZ-M---
+ CCC+CC++CC++CCC C  C C   CC CCCC  CC C          CC +++CCCCCCCCC  CC           CCC CCCC CC        C         CC CCCCC           C CCC
+    C  CC  CC                                       CCC
*M-M=++""""+"-++++MM-=M-ZZZZ=M-MM--Z--=-MZXXXXXXXXZM="""+++==++=MMMM-ZZXXXXXZZZZ---Z-------ZZZZZZZXZZZ----ZXZ---Z----ZZZXXXXXXZ--==-M
+ C CCC++++C+.CCCC  CC C    C C  CC CCCC            C+++CCCCCCCC    C           CCC CCCCCCC           CCCC   CCC CCCC          CCCCC
+      CCCC C'                                       CCC
+            X
+            C
*M-MMM="""""-"++""+MMMM--Z-X-M-M-Z---M==MZXXXXXZZXZ=+-""+=++=++=MM-MZZZZZXZZZZZZZ---------ZZ-ZX-XZXXZZZZZ--ZZZMMZ----ZXZXXXXXXXZ-M===
+ C   C+++++.+CC++C    CC C C C C CCC CC           CC.++CCCCCCCC  C              CCCCCCCCC  C  C         CC      CCCC           C CCC
+      CCCCC'C  CC                                   'CC
+           X                                        X
+           C                                        C
*===MM=+"++""-"+""-"M=MM-Z-ZZ-MM----ZMM+MZXXXXXZZZM"+-""+++==+=MMM---ZZZZZZZZZZ----------MMMMM--ZZ----ZZXXZZZZX=MZZZ-ZZXZXXXXXZ--=M=M
+CCC  CC+CC++.+C++.+ C  C C  C  CCCC   C           +C.++CCCCCCC   CCC          CCCCCCCCCC     CC  CCCC         C    C          CCC C
+       C  CC'C CC'C                               C 'CC
+            X    X                                  X
+            C    C                                  C
*===MMMM+++++"-"+""""=MM--MMZ-M=M-M---MMMZXXXXXXZM"++-"++++====MM-Z----ZXXXXZZXZZ----M-MMMMMZZZXXXZZZZZZZAXXXXZ-=M---ZZZZXXAXXZZ-+M=-
+CCC    CCCCC+.+C++++C  CC   C C C CCC            +CC.+CCCCCCCC  C CCCC          CCCC C                        CC CCC           CC CC
+            C'C CCCC                             C  'C
+             X                                      X
+             C                                      C
*"+MMMMMM++"+""""+++-+MMM=-M---=MZMZ--M--ZZXXXXX-""=+""+++======----ZZZZZZZZZZZZZZ-M-MMM-ZZZZXXZXXXXZXXXZZXZXXZX-MM-Z-ZXXXXAAXZZ-=M=M
++C      CC+C++++CCC.C   CC CCCC    CC CC       C++CC++CCCCCCCCCCCCC              C C   C                       C  C C          CC C
+C         C CCCC   '                            CC  CC
+                   X
+                   C
*""+=M-M-M=++=++"+++"-+MM=MMMZ-=MZ-ZMZMZMZXXXXZZM"=-"""+==MMM=MM----ZZZZ-ZXXZZZZ--Z-MMM--ZZXX-+"=-XAAXXXZAXM-XA=X=MZZ-ZXXXAAAAXZ-====
+++CC C C CCCCCC+CCC+.C  C    CC  C              +CC+++CCC   C  CCCC    C       CC C   CC    CC+CC          C    C   C          CCCCC
+CC             C   C'                           C  CCC                                        C
+                    X
+                    C
*--"+=M--Z-=+++++""+"-"==MMM=--=M--ZMZZX--XXXXXZ==MM"""=MMMMMMMM-M-ZZZ---ZXXZZZZZZ--M+"MZZXZ+----"+ZAAAXXZZZ-XXXXMMZX-ZZXXAAAAXZ-M+M+
+..+CC CC CCCCCCC++C+.+CC   CCCC CC     CC      CC  +++C        C C   CCC         CC C+     C....+C         C        C          C C C
+''C             CC C'C                             CCC                               C      ''''C
+XX                  X                                                                       XXXX
+CC                  C                                                                       CCCC
*--"""+M-ZZ-=++"+""""""++===M--MMZZZM-ZX--ZXXXZM==M++==MM-M-M------ZZ-MZ--ZXZZ-ZZZ---="-MXX+------"+XAAAZ------Z-=MZZ-ZXXXAAAAXZZM===
+..+++C C  CCCC+C++++++CCCCC CC      C  CC      CC CCCC  C C CCCCCC  C  CC    C   CCCC+.   C......+C     CCCCCC CC   C            CCC
+''CCC         C CCCCCC                                                               C'    ''''''C
+XX                                                                                    X    XXXXXX
+CC                                                                                    C    CCCCCC
*--""""+=-ZZ-M=+="---""+"===M--MMZZMM-ZZ--ZZXZ==M=M=---M--------Z-ZZZ--Z--ZZZ--ZZZZ-MM=""=---------"ZAX-=M--=MMZ-==-ZZZXXAAAAAAXZ-M=M
+..++++CCC  C CCC+...++C+CCC CC      C  CC    CC C CCCC CCCCCCCC C   CC CC   CC    C  C++CC........+   CC CCC   CCCC             C C
+''CCCC          C'''CC C                                                              CC  ''''''''C
+XX               XXX                                                                      XXXXXXXX
+CC               CCC                                                                      CCCCCCCC
*---""""+=-Z-M==M=+"""+++====M-MMZZM=M----ZZZ==MMMMM--Z-ZZ-----Z---Z----MMZZZZ-ZZZXZM=MM+------+M---MZ"+M-M=MZZZM=M-ZZXXXAAAAAXXZZ-MM
+...++++CCC C CC CC+++CCCCCCC C     C CCCC   CC     CC C  CCCCC CCC CCCC      C      C  C......C ...  +C C C     C C              C
+'''CCCC           CCC                                                                   ''''''  '''  C
+XXX                                                                                     XXXXXX  XXX
+CCC                                                                                     CCCCCC  CCC
*----""+++=---M==M+""""+=+==MM--MZZM=MM-=+--=+====MMM---ZZZZ--Z-------M-=-ZZZMMMZZZXZ=MMM+"---------""=--=+M-ZZZZM--ZZXXXXXAAAXXXZZZM
+....++CCCCCCC CC C++++CCCCC  CC    C  CCCCCCCCCCC   CCC    CC CCCCCCC CCC           C   C+.........++CCCCC C     CC
+''''CC            CCCC                                                                   C'''''''''CC
+XXXX                                                                                      XXXXXXXXX
+CCCC                                                                                      CCCCCCCCC
*-----"+++==M-=+==++""+==+M=M-MMMZ-M=MMM=+=====+==M=M----ZZ----------M-M==---MMMMZZZZZ-MMMMM==+++"++=MMM==M--ZZZZ--ZZZXXXXXXXXXXXXZZZ
+.....+CCCCC CCCCCCC++CCCC C C    C C   CCCCCCCCCC C CCCC  CCCCCCCCCC C CCCCC         C     CCCCC+CCC   CC CC    CC
+'''''C             CC                                                                           C
+XXXXX
+CCCCC
*------++++=+==++"++"++==+==MM-MM-MM=M-MM==+M-MMMM---MM---ZMMM------MMMM==---MMMM-ZZZZZ-MM--ZZZZ------MM---Z-ZZZ--ZZZXZXXXXXXXXXXXZZZ
+......CCCCCCCCCC+CC+CCCCCCC  C  C  C C  CCC C    CCC  CCC    CCCCCC    CCCCC    C     C  CC    CCCCCC  CCC C   CC
+''''''          C  C
+XXXXXX
+CCCCCC
*-------""""+==+=++"""===++=MMMM--M=MMMM=M-----------Z-Z-----M--MMMMMMM-M=M---M+M-ZZZZXZZ-M-MZZZZZZZ-M-----ZZZZZ--ZZXXXXXXXXXXXXXXXXX
+.......++++CCCCCCC+++CCCCCC    CC C    C CCCCCCCCCCC C CCCCC CC       C C CCC C C       C C        C CCCCC     CC
+'''''''CCCC       CCC
+XXXXXXX
+CCCCCCC
*-------""""=+==++"""++=+++MMMM=MMM==MM++MMMMMM==MMMM-----MMM--MMMMMMM=MMM=--MM++-Z-ZZZZZZZM-M--ZZZ--ZZ-------ZZZZZXXXXXXXXXXXXXXXXXX
+.......++++CCCCCC+++CCCCCC    C   CC  CC      CC    CCCCC   CC       C   CCC  CCC C        C CC   CC  CCCCCCC
+'''''''CCCC      CCC
+XXXXXXX
+CCCCCCC
*------"--"""""++++++++====M--M===MM=M+=MM-MMMMM=MMMM-------M-MMMMM-MMMM=M=M--=+=M--ZZZZZZZZZ----Z--M--M------ZZZZZXXXXXXXXAXXXXXXXXX
+......+..+++++CCCCCCCCCCCC CC CCC  C CC  C     C    CCCCCCC C     C    C C CCCCC CC         CCCC CC CC CCCCCC
+''''''C''CCCCC
+XXXXXX XX
+CCCCCC CC
*------""--"--"""""+=++=M==MZZZM==MM==M=MMM--M++==MMMMM-MM----M--MMMMMM==M=M--==M=M-ZZZ-ZZZZZZZZ-Z---M---ZM--ZZZZXXXXXXXXXXXXXXXXXXXX
+......++..+..+++++CCCCC CC     CC  CC C   CC CCCC     C  CCCC CC      CC C CCCC C C   C        C CCC CCC  CC
+''''''CC''C''CCCCC
+XXXXXX  XX XX
+CCCCCC  CC CC
*-------"""""-""+++=++"+MM----ZX-MM===MMM-MMM-M=+==-----MMM-----M-MMM====MM=Z-MMMMM-ZXZ--ZZZ----MM-Z---Z----ZZZZZZXAAXXXXXXXXXXXXXXXX
+.......+++++.++CCCCCC+C  CCCC  C  CCC   C   C CCCCCCCCC   CCCCC C   CCCC  C C     C   CC   CCCC  C CCC CCCC
+'''''''CCCCC'CC      C
+XXXXXXX     X
+CCCCCCC     C
*---------------++"+=++++=M-M-M-ZZ-M+""=M==MM---M=+=M---MMMM--MMMM-MMMM==MM=-Z-MM=-MMZZZMZ---M=M-ZZZ-MM-MMMZ-ZZZZXXXXXXZXAXXXXXAXXXXX
+...............CC+CCCCCCC C C C  C C++C CC  CCC CCC CCC    CC    C    CC  CC C  CC       CCC C C   C  C    C
+'''''''''''''''  C                  CC
+XXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCC
*--------------""""+=+++++M---MMMM---M=+MM+"+=M----ZZZ-----M----MM-MMMM===MMMZ---M--=M--M-M=M""---M-MMMM=MM--ZXXXXXXXXXXXXXXAXXAXXXXX
+..............++++CCCCCCC CCC    CCC CC  C+CC CCCC   CCCCC CCCC  C    CCC    CCC CCC CC C C ++CCC C    C  CC
+''''''''''''''CCCC                        C                                                 CC
+XXXXXXXXXXXXXX
+CCCCCCCCCCCCCC
*--------------"""""=+++++=M-ZZ---MMMM-M=MM++=MM--ZZZZZ-M-Z-----------M=MMM-M-ZZ----MM++MMM++"-+++=MMM=M=MM-ZZXXXXXXXAXXXXXAAXAXXXAAX
+..............+++++CCCCCCC C  CCC    C C  CCC  CC     C C CCCCCCCCCCC C   C C  CCCC  CC   CC+.CCCC   C C  C
+''''''''''''''CCCCC                                                                         C'
+XXXXXXXXXXXXXX                                                                               X
+CCCCCCCCCCCCCC                                                                               C
*--------"-"----"-""+++++++M-ZZXZ-MMMMMMZ-M-MM=MMMM--Z--M--M----M-MM-MM-MMM-M-ZZZZXZ--M+"=+=MM"-"""===M-+=MZ-ZXXXXXXAAXXXAAAAAAAAXAXX
+........+.+....+.++CCCCCCC C    C       C C  C    CC CC CC CCCC C  C  C   C C      CC C+CCC  +.+++CCC CCC  C
+''''''''C'C''''C'CC                                                                    C     C'CCC
+XXXXXXXX X XXXX X                                                                             X
+CCCCCCCC C CCCC C                                                                             C
*-------------""-"-""++===+=--ZZZZZ-MMMMM-ZZZ--M-MM=M--ZZ---ZZZ----MMMMMM=M---ZZZ-ZZZZZM==MMMMM"-"""+++=M---XXXXXXXXAAAXXXXAXXXXAXXXX
+.............++.+.++CCCCCCCCC     C     C   CC C  C CC  CCC   CCCC      C CCC   C      CC     +.+++CCCC CCC
+'''''''''''''CC'C'CC                                                                          C'CCC
+XXXXXXXXXXXXX  X X                                                                             X
+CCCCCCCCCCCCC  C C                                                                             C
*----"--------""""-""+===MM+M-Z-ZZZZ--MMMM-ZZZZZZZ-----ZZZ-ZZZZ--M-M-MMMMMM--ZZZZZ-ZZZZ-----Z-MM="""==MM---ZXAXXXXXXXXAXXXXAAXXXXXXXX
+....+........++++.++CCCC  C C C    CC    C       CCCCC   C    CC C C      CC     C    CCCCC C  C+++CC  CCC
+''''C''''''''CCCC'CC                                                                            CCC
+XXXX XXXXXXXX    X
+CCCC CCCCCCCC    C
*---------------""-"""+==M-M=MZZ-ZZZ---------ZZZZZZZZZZZZ--Z--ZZ--Z--M=MMMM--ZZZZZ--ZZZZZZZZZZZZZ-MM-ZZZZZZXAXAXXXXXXXXXXXXAAXAXAXXXX
+...............++.+++CCC C C   C   CCCCCCCCC            CC CC  CC CC C    CC     CC             C  C
+'''''''''''''''CC'CCC
+XXXXXXXXXXXXXXX  X
+CCCCCCCCCCCCCCC  C
*--------------""--"++"+=MMM-M-ZZZZ-----ZZ--ZZZZZZZZZZZ---Z---Z----Z-MMMMMM--ZZZZZZZZZXXZZZZZXXXZZZXXXXZXXXXXAXXXXXXAXXXXXAAAAAAAXXXX
+..............++..+CC+CC   C C    CCCCC  CC           CCC CCC CCCC C      CC
+''''''''''''''CC''C  C
+XXXXXXXXXXXXXX  XX
+CCCCCCCCCCCCCC  CC
*--------------""""""++++=MMMMM-ZZ---Z-Z--ZZZZZZZZZZ-----------ZZZ----MM-MM--ZZZZZZZZZZXZZXZZZXZZXXXXXXXXXXXXXXXXXXAXXXXXXAAAAAAAXXXX
+..............++++++CCCCC     C  CCC C CC          CCCCCCCCCCC   CCCC  C  CC
+''''''''''''''CCCCCC
+XXXXXXXXXXXXXX
+CCCCCCCCCCCCCC
*------------""""""+++++++=MM-M---ZZZZZZZZZZZZZXXXXZZZ--Z-Z-----Z-------MMM-ZZZZZXZZZZZZZZZZXZZZXXXXXXXXXXXXAXXXXXXAXXXXXAAAXAAAXXXXX
+............++++++CCCCCCCC  C CCC                    CC C CCCCC CCCCCCC   C
+''''''''''''CCCCCC
+XXXXXXXXXXXX
+CCCCCCCCCCCC
*------------""""""+++===+==M-----ZZZ-ZZZZXZZXXXXXXXXZZZZ-----Z---Z-M-M-MMM--ZZZZZZZZZZZZZZZZZZZZZZXXXXXXXAXAXXXXXXAXXXXXXAAAAAXAXXXX
+............++++++CCCCCCCCC CCCCC   C                   CCCCC CCC C C C   CC
+''''''''''''CCCCCC
+XXXXXXXXXXXX
+CCCCCCCCCCCC
*------"-------""""+==MMM==M=-----ZZZZZZZXXXXZXXXXZZZZZZ--M---ZZZ---M---MM--ZZZZZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXXXXAXXXXXXXAAAAXAAAXXAA
+......+.......++++CCC   CC CCCCCC                      CC CCC   CCC CCC  CC
+''''''C'''''''CCCC
+XXXXXX XXXXXXX
+CCCCCC CCCCCCC
*------"-----"--"""""+==M==MMMM-Z--ZZZZZZZZXXXXXZZZZZ---------ZZZ---M-------ZZZZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXAAAAXXAXAX
+......+.....+..+++++CCC CC    C CC                  CCCCCCCCC   CCC CCCCCCC
+''''''C'''''C''CCCCC
+XXXXXX XXXXX XX
+CCCCCC CCCCC CC
*---------------"+"""+===MMM----ZZ-ZZZZZZZZXZZZZZ--Z------MM--ZZZZ-MMMM------ZZZZZZZZZZZZZZZZZXXXXXXXAXXXXAAAAXXXXXXXXXAXXAAAAXAXXXXX
+...............+C+++CCCC   CCCC  C              CC CCCCCC  CC    C    CCCCCC
+'''''''''''''''C CCC
+XXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCC
*----------------""+++=MMM-M--MM-ZZ--MZZZZZZZZZZZ---M-MMMMMM-ZZZZ--MM----------ZZZZZZZZZZZZZZXZXXXXXXXXXXXAXXAXXXXXXXXXXXXAXAXXAXXXXX
+................++CCCC   C CC  C  CC            CCC C      C    CC  CCCCCCCCCC
+''''''''''''''''CC
+XXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCC
*"------"""---"""""+==+M-M--M--M--ZZMMM--ZZZZZZZZ-ZZZ----------ZZZMMM-M----ZZZ-ZZZZZZZZZZZXZXXXXXZXXXXXXXAAAXXXXXXXXXXXXAXAAAAXXAXXXX
++......+++...+++++CCCC C CC CC CC     CC        C   CCCCCCCCCC      C CCCC   C
+C''''''CCC'''CCCCC
+ XXXXXX   XXX
+ CCCCCC   CCC
*"---"------"-""""""++M=MMMM-M----ZZ--MM--ZZ--ZZZZZ-Z--Z----MMZ-Z--MM--M---Z-ZZZZ-ZZZZZZZXXZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
++...+......+.++++++CC C    C CCCC  CC  CC  CC     C CC CCCC   C CC  CC CCC C    C
+C'''C''''''C'CCCCCC
+ XXX XXXXXX X
+ CCC CCCCCC C
*""-"---"------""""+""==MMMM=MM-MM--------ZZ----------ZZ-Z--M--ZZ-MM---M--Z-ZZZZZZZZZZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXXXXX
+++.+...+......++++C++CC    C  C  CCCCCCCC  CCCCCCCCCC  C CC CC  C  CCC CC C
+CC'C'''C''''''CCCC CC
+  X XXX XXXXXX
+  C CCC CCCCCC
*"""-"--"----------"++++=MMMMMMMMM-------------Z------ZZZZZ----Z--MMM-------ZZZZZZZZZZZZZZXXXXXXXXXXXXAXXXXXAXXXXXXXXXXXAXAXXXXXXXXXX
++++.+..+..........+CCCCC         CCCCCCCCCCCCC CCCCCC     CCCC CC   CCCCCCC
+CCC'C''C''''''''''C
+   X XX XXXXXXXXXX
+   C CC CCCCCCCCCC
*++""+""----------""+=====M-M-----XZ-ZZ---MMMM--ZZ-Z----ZZZZ---Z------ZZ--ZZZZZZZZZXXZZZZXXXXXXXXXXXXAAAXXXXXXXAXXAXXXXAAXXXXXXXXXXXX
+CC++C++..........++CCCCCC C CCCCC  C  CCC    CC  C CCCC    CCC CCCCCC  CC
+  CC CC''''''''''CC
+       XXXXXXXXXX
+       CCCCCCCCCC
*""""""----"""-----"""+MMM=MMM-----------M--------------ZZZZ---ZZ-----ZZZ--ZZZZZZZXXXXXZZZXZZZXZXXXXXAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+++++++....+++.....+++C   C   CCCCCCCCCCC CCCCCCCCCCCCCC    CCC  CCCCC   CC
+CCCCCC''''CCC'''''CCC
+      XXXX   XXXXX
+      CCCC   CCCCC
*""-"""""--""""-""-"""+=MM-MMMM------MM-MM---MMM--------ZZZZ----Z---M--ZZZ-ZZZZZZZZZXXXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXAAXXXXXAXXXXX
+++.+++++..++++.++.+++CC  C    CCCCCC  C  CCC   CCCCCCCC    CCCC CCC CC   C
+CC'CCCCC''CCCC'CC'CCC
+  X     XX    X  X
+  C     CC    C  C
*""-"+=++""""""""""""+"+===MMM-------------MMMMM--------ZZZZZ---ZZ--MMM-ZZZZZZZZXZZXZZZZXXXXXXXXXXXXAXXAAXXXXXXAAAAXXXXXAXAAAXXXXXXXX
+++.+CCCC++++++++++++C+CCCC   CCCCCCCCCCCCC     CCCCCCCC     CCC  CC   C
+CC'C    CCCCCCCCCCCC C
+  X
+  C
*"""""""""""++""++""+=++++=MMMM---------M--M--------ZZZZZZZZZZZZZZ----M-ZZZZZZZZZZZXXXZZZXXXXXXXXXXXXXAAXXXAAAAXXAXXXXXXXXXXXXXXXXXZX
++++++++++++CC++CC++CCCCCCC    CCCCCCCCC CC CCCCCCCC              CCCC C
+CCCCCCCCCCC  CC  CC
*-----""""+++++++=+++==+===MMMMMM-------Z--------ZZZZZZZZZZZZ---------M--ZZZZZZXZZZZXXXXXXXXZXXXXXXXXXXXXXXAAXAAAXXXXXXXXXXXXXXXXXXXX
+.....++++CCCCCCCCCCCCCCCCC      CCCCCCC CCCCCCCC            CCCCCCCCC CC
+'''''CCCC
+XXXXX
+CCCCC
*----"""""+++====MMM====M==MMMMM-M------Z----ZZ---ZZZZZZZZZZZZZ----------ZZZZZZZXZZZZZXXZXXZZXZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+....+++++CCCCCCC   CCCC CC     C CCCCCC CCCC  CCC             CCCCCCCCCC
+''''CCCCC
+XXXX
+CCCC
*---""""+++"+++=M=====+=MMMMMMM--M----ZZZ-------M-ZZZZZZZZZZZZZ---------ZZZZZZZZZZXZZZZZXXXXXXXXXXXXXXXXXXXZZXXXZZZZXXXXXXXXXXXXXXXXZ
+...++++CCC+CCCC CCCCCCC       CC CCCC   CCCCCCC C             CCCCCCCCC
+'''CCCC   C
+XXX
+CCC
*---""+---"""+++===MMMMMM==MMMMMM------Z-ZZ-MM-ZZZ-ZZZZZZZZZZZZ------Z---Z-ZZZZZZZXZXXZZZXXXZXXXXXXXXAXXXXXXXXXXXXXAXXAAAAAXXXXXXXXXX
+...++C...+++CCCCCC      CC      CCCCCC C  C  C   C            CCCCCC CCC C
+'''CC '''CCC
+XXX   XXX
+CCC   CCC
*"-"++"---"+"++++++==MM==MM===MMMM------------ZZ-ZZZZZZZZZZZZZZZ-----------ZZZZZZZZZZXXZZZZZZXZZXXXXXXXXXXXXXXXXXXXXXXAXXXXXXXXXXXXXX
++.+CC+...+C+CCCCCCCC  CC  CCC    CCCCCCCCCCCC  C               CCCCCCCCCCC
+C'C  C'''C C
+ X    XXX
+ C    CCC
*""""""-"-""""""+++++=====MMM=M===M--MMM-M-------ZZZZZZZZZZZZZZZ-ZZ------ZZZZZZZZZZZZZZZXXXXZZZZZZZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+++++++.+.++++++CCCCCCCCCC   C CCC CC   C CCCCCCC               C  CCCCCC
+CCCCCC'C'CCCCCC
+      X X
+      C C
*--""+"""-"-"-"+++=+++"+++MM==M=MMMMMMMM-MM-----ZZZZZZ-ZZZZZZXXZZ--------ZZZZZZZZZZZZZZZZXXZZZZXXXZZZZXZXZXXXXZXXXXZXXXXXXXXXXXXXZXXX
+..++C+++.+.+.+CCCCCCC+CCC  CC C        C  CCCCC      C          CCCCCCCC
+''CC CCC'C'C'C       C
+XX      X X X
+CC      C C C
*---"+"""""""--"+++=++++++=MM=MMMMMM---MMMM---ZZZZZZZ--ZZZZXXXZZZZZ-M---Z-ZZZZZZZZZZXZZZZZXZZXXXXZXZXZXXZZZZXZZXXXXXZXXXZXXXXXXXXXXXX
+...+C+++++++..+CCCCCCCCCCC  C      CCC    CCC       CC            C CCC C
+'''C CCCCCCC''C
+XXX         XX
+CCC         CC
*----""--""----"+"=M=+==+====MMMMMMM----MM--Z-ZZZ--MMM-ZZZZZXXXXZZZ---M--Z--ZZZZZZZZXZZZZZZZZZZZZZZZZZZXZXXXZZXZZZZXXXXXXXXXXXZXXXXXX
+....++..++....+C+C CCCCCCCCC       CCCC  CC C   CC   C            CCC CC CC
+''''CC''CC''''C C
+XXXX  XX  XXXX
+CCCC  CC  CCCC
*----""------"-"""+=++++++===MMM---MM--------ZZ--MMMMMM-ZZZZZZZZXZZZ--------ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXXXXXXXXZXX
+....++......+.+++CCCCCCCCCCC   CCC  CCCCCCCC  CC      C            CCCCCCCC
+''''CC''''''C'CCC
+XXXX  XXXXXX X
+CCCC  CCCCCC C
*-"---"-----------"""+=++===MM==MMMM-----Z--M---M-------ZZZZZZZZXZZZ----------ZZZZZZZZZZZZZZZZZZZZZZZZZXZXZZZXZXZXXXXXXXXXXXXXXXXXZXZ
+.+...+...........+++CCCCCCC  CC    CCCCC CC CCC CCCCCCC            CCCCCCCCCC
+'C'''C'''''''''''CCC
+X XXX XXXXXXXXXXX
+C CCC CCCCCCCCCCC
*-----""-----------""+=====MM-MM==M-M-------M-MM--Z--M---ZZZZZZXXXZZZZ-----Z--ZZZZZZZZZZZZZZZZZXZZZZZZZZZXZZXZXXZXXZXXXXXXXXXXXXXXXZX
+.....++...........++CCCCCC  C  CC C CCCCCCC C  CC CC CCC             CCCCC CC
+'''''CC'''''''''''CC
+XXXXX  XXXXXXXXXXX
+CCCCC  CCCCCCCCCCC
*------""-"----""--""""+=MMMMMM---------MM----M-----------ZZZZZZZZZZZZZ---Z-ZZ-ZZZZZZZZZZZZZZZZZXZZZZZZZZZZZXZZZXZXXXXXXXXXXXXXXXZZXX
+......++.+....++..++++CC      CCCCCCCCC  CCCC CCCCCCCCCCC             CCC C  C
+''''''CC'C''''CC''CCCC
+XXXXXX  X XXXX  XX
+CCCCCC  C CCCC  CC
*--------"""---"""""""++===MM-MMM---------------M--MM------ZZZZZZZZZZZZZZZZZ-Z-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXXXXXXXXXXXXXXXZZZXX
+........+++...+++++++CCCCC  C   CCCCCCCCCCCCCCC CC  CCCCCC                 C C
+''''''''CCC'''CCCCCCC
+XXXXXXXX   XXX
+CCCCCCCC   CCC
*--------"------""+++"++=MMMMM-MMMMM-----------------M---ZZZZZZXZZZZZZZZZZ--ZZ--ZZZZZ-ZZZZZZZZZZZZZZZZZZXXXXXXZZZZXXXXXZXZXXZXXXXZZXZ
+........+......++CCC+CCC     C     CCCCCCCCCCCCCCCCC CCC                 CC  CC     C
+''''''''C''''''CC   C
+XXXXXXXX XXXXXX
+CCCCCCCC CCCCCC
*-"-------"----""""++"--+MM=+=M--MM---M---ZZ------MMM---ZZZZZZZZZ-Z-Z-ZAZZZ-ZZ-ZZZZZZ-ZZZZZZZZZZZZXXXXXXZZZXZXZXZXZZZZZXZXXXXXXXZXXXX
+.+.......+....++++CC+..C  CCC CC  CCC CCC  CCCCCC   CCC         C C C     C  C      C
+'C'''''''C''''CCCC  C''
+X XXXXXXX XXXX       XX
+C CCCCCCC CCCC       CC
*---------------""-"""+-""""++=M---MM-MM--Z----MMM-----ZZZZZZZZZZZZ-ZZZZZZ-Z-ZZZZZZZZZZZZZZZZZZZZZZXXXXZZZZZZZZZZZZZZXXZXXXXZZZZZZXXZ
+...............++.+++C.++++CCC CCC  C  CC CCCC   CCCCC            C      C C
+'''''''''''''''CC'CCC 'CCCC
+XXXXXXXXXXXXXXX  X    X
+CCCCCCCCCCCCCCC  C    C
*------------"--""""""+++"""++=MM-MMM---Z--------------Z--ZZZ--ZZZZZZZZZZZ-ZZZZZZZZZZZZZZZZZZZZXZZZZZZZXZZZZZZZZZZZXXXXXXZZXZZZZZZZZZ
+............+..++++++CCC+++CCC  C   CCC CCCCCCCCCCCCCC CC   CC           C
+''''''''''''C''CCCCCC   CCC
+XXXXXXXXXXXX XX
+CCCCCCCCCCCC CC
*----------""-----""""""+====M===MM==M=---MM---Z----Z-M-------Z--Z-ZZZZZZZ--ZZ-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXXXXXZZXZZZZXZZZZ
+..........++.....++++++CCCCC CCC  CC CCCC  CCC CCCC C CCCCCCC CC C       CC  C
+''''''''''CC'''''CCCCCC
+XXXXXXXXXX  XXXXX
+CCCCCCCCCC  CCCCC
*-------------""-""+==++++++=MMM=M---M-MM=M------Z---ZZ------ZZ-ZZZZZ--ZZZZ---ZZZZZZZZZZZZZZZZZZZZZZZXZZXZZZZZZZZZXXXZXZXXXZXZZZZZXZZ
+.............++.++CCCCCCCCCC   C CCC C  C CCCCCC CCC  CCCCCC  C     CC    CCC
+'''''''''''''CC'CC
+XXXXXXXXXXXXX  X
+CCCCCCCCCCCCC  C
*-----------"""""""""++=+"""++++==MMM-MM-MM--------------------ZZZZ--ZZZZZZ--ZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXZZZZZZZZXZZZXZXZZZZZZZZZZZ
+...........+++++++++CCCC+++CCCCCC   C  C  CCCCCCCCCCCCCCCCCCCC    CC      CC
+'''''''''''CCCCCCCCC    CCC
+XXXXXXXXXXX
+CCCCCCCCCCC
*----------------""-"+"=+""""++"++=MMMMMM-----MM--------------ZZZ-ZZZZZ-ZZ-ZZZZZZZZZZZZZZZZZ-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+................++.+C+CC++++CC+CCC      CCCCC  CCCCCCCCCCCCCC   C     C  C                 C
+''''''''''''''''CC'C C  CCCC  C
+XXXXXXXXXXXXXXXX  X
+CCCCCCCCCCCCCCCC  C
*--------------------""+++++++"+++===MMM--------M-----ZZZ-ZZZZZZZZZZZZ--ZZZZZZ--Z--ZZ-ZZZZ-Z-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ-ZZZ--
+....................++CCCCCCC+CCCCCC   CCCCCCCC CCCCC   C            CC      CC CC  C    C C                                  C   CC
+''''''''''''''''''''CC       C
+XXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCC
*-------------------""-""++++==+++=M=MMMMMMM----MM---ZZZZZZZZZZXZXZZZZZZZZZZZ-----Z---Z-----ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+...................++.++CCCCCCCCCC C       CCCC  CCC                        CCCCC CCC CCCCC
+'''''''''''''''''''CC'CC
+XXXXXXXXXXXXXXXXXXX  X
+CCCCCCCCCCCCCCCCCCC  C
*------------------"---"+"+=++==MMMMMMM--MM---------Z-ZZZZZZZZZZXZZZZZZZZZ-Z---------------ZZ-ZZZZZZZZZZZZZZZZZZZ-ZZZ--ZZZZZZZZZ--ZZZ
+..................+...+C+CCCCCC       CC  CCCCCCCCC C                    C CCCCCCCCCCCCCCC  C                   C   CC         CC
+''''''''''''''''''C'''C C
+XXXXXXXXXXXXXXXXXX XXX
+CCCCCCCCCCCCCCCCCC CCC
*----------------------""""++++====M=MMMM-M--MM------Z-ZZZZZZZZZZZXZZZZZ-Z-Z---------------Z--ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+......................++++CCCCCCCC C    C CC  CCCCCC C                 C C CCCCCCCCCCCCCCC CC
+''''''''''''''''''''''CCCC
+XXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCC
*---------------------"++"""++++++++++===M-----MMMMMM--------ZZZZZZZZ-Z--Z----MM----ZZ---------ZZZZZ-ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+.....................+CC+++CCCCCCCCCCCCC CCCCC      CCCCCCCC        C CC CCCC  CCCC  CCCCCCCCC     C
+'''''''''''''''''''''C  CCC
+XXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCC
*----------------------+"--""+++"+""=+++=M=M--Z--MM=M-----ZZZZZZ---Z-ZZZZZ--M-=M--ZZ-----Z---ZZZ-Z---ZZZZZZZZZ-ZZZZZZZZZZZZZZZZZZZZZZ
+......................C+..++CCC+C++CCCCC C CC CC  C CCCCC      CCC C     CC CC CC  CCCCC CCC   C CCC         C
+'''''''''''''''''''''' C''CC   C CC
+XXXXXXXXXXXXXXXXXXXXXX  XX
+CCCCCCCCCCCCCCCCCCCCCC  CC
*-----------------------"""""+""""+++=======MM------ZZZ----ZZZZZZ-Z--ZZZZ-----M------MM---------ZZ-----ZZZZZZZZZZZZZZZZZZ---ZZZZZZZZZ
+.......................+++++C++++CCCCCCCCCC  CCCCCC   CCCC      C CC    CCCCC CCCCCC  CCCCCCCCC  CCCCC                  CCC
+'''''''''''''''''''''''CCCCC CCCC
+XXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCC
*-------------------------""++""""+++++===MM===M--M----M--M---------ZZ----M------ZZZ-M----------ZZZ----ZZZZZZZZZZZZ--ZZZZZ-----ZZZZZZ
+.........................++CC++++CCCCCCCC  CCC CC CCCC CC CCCCCCCCC  CCCC CCCCCC   C CCCCCCCCCC   CCCC            CC     CCCCC
+'''''''''''''''''''''''''CC  CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCC
*--------------------------""+"+"-"+===++====+"+===MMMMM=M==MM=+MM-ZZ---MMM-MMMM--Z------M------ZZZZZ--ZZ-ZZZZZZZZZ--ZZZZZ--Z-ZZZZZZZ
+..........................++C+C+.+CCCCCCCCCCC+CCCC     C CC  CC  C  CCC   C    CC CCCCCC CCCCCC     CC  C         CC     CC C
+''''''''''''''''''''''''''CC C C'C           C
+XXXXXXXXXXXXXXXXXXXXXXXXXX      X
+CCCCCCCCCCCCCCCCCCCCCCCCCC      C
*---------------------------"-"+++"""++=+"++==="""++M=MM=M===+=M==--=M-MMM--MM+=----------ZZ----ZZZZZZ-ZZZZZZZZZZZZZZ--ZZZZZZZZZZ---Z
+...........................+.+CCC+++CCCC+CCCCC+++CC C  C CCCCC CCCCC C   CC  CCCCCCCCCCCC  CCCC      C              CC          CCC
+'''''''''''''''''''''''''''C'C   CCC    C     CCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCC C
*-----------------------------""++""""+=++""++=++=M===MMMMMMMMMM--MMMM==M--MM++M----------Z---M-ZZZZZZZZZ-Z--ZZZZZZZ-Z---Z-ZZZZZZZ--Z
+.............................++CC++++CCCC++CCCCCC CCC          CC    CC CC  CC CCCCCCCCCC CCC C         C CC       C CCC C       CC
+'''''''''''''''''''''''''''''CC  CCCC    CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-------------------------------"+++++=======+====M=MMMMMMMM------MMMMM----M+++-------ZZZ-----=-ZZXZZZZZZZZZZZZ-ZZZZZ-------ZZ-ZZZ---
+...............................+CCCCCCCCCCCCCCCCC C        CCCCCC     CCCC CCCCCCCCCC   CCCCCCC               C     CCCCCCC  C   CCC
+'''''''''''''''''''''''''''''''C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*---------------------------------""+++++==MM=MMMMM-MMMMM--MMMM-MMMM===M-M=+===---------Z--M-MM--ZXZZZZZZZZZZZZZ-Z--ZZ------ZZZZZZ---
+.................................++CCCCCCC  C     C     CC    C    CCC C CCCCCCCCCCCCCC CC C  CC               C CC  CCCCCC      CCC
+'''''''''''''''''''''''''''''''''CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-------------------------------------""-""++==M=+++===MMM-MMMMMMM=====-MMM=M=MM-------Z-Z-M----ZZXZZXXZZZZZZZZZ---ZZZZZZ----ZZZZZ-ZZ
+.....................................++.++CCCC CCCCCCC   C       CCCCCC   C C  CCCCCCC C C CCCC                CCC      CCCC     C
+'''''''''''''''''''''''''''''''''''''CC'CC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C
*------------------------------------------"""""+=+++=MMMMMMMMMMM=MMMMMM=M====MMM-----ZZ--------ZZXZZZXZZZZ--ZZZ-----ZZ--------ZZ-ZZZ
+..........................................+++++CCCCCC           C      C CCCC   CCCCC  CCCCCCCC           CC   CCCCC  CCCCCCCC  C
+''''''''''''''''''''''''''''''''''''''''''CCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-----------------------------------"----"-"""""++===MMMMMMMMMMMMMMM-MM=====+MMM------Z----M-----ZZZZZXZZZZZ-ZZZZZ----ZZ--------Z--ZZ
+...................................+....+.+++++CCCCC               C  CCCCCC   CCCCCC CCCC CCCCC           C     CCCC  CCCCCCCC CC
+'''''''''''''''''''''''''''''''''''C''''C'CCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXX X
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCC C
*------------------------------"----""--""""++++++=+===++=====MMMMMMMMMM=+++==M------ZZ---MM------ZZZZZZZZZZ-ZZZZZZ--Z-Z--Z----------
+..............................C....++..++++CCCCCCCCCCCCCCCCCC          CCCCCC CCCCCC  CCC  CCCCCC          C      CC C CC CCCCCCCCCC
+''''''''''''''''''''''''''''''B''''CC''CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXX  XX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCC  CC
*-----------------------------------""""""+++++==========+++++===MMMMM==MM=MM=MMM--M-ZZ--MM----ZZ---ZZZZZZZZZZZZZ-Z--Z----Z-----M-Z--
+...................................++++++CCCCCCCCCCCCCCCCCCCCCCC     CC  C  C   CC C  CC  CCCC  CCC             C CC CCCC CCCCC C CC
+'''''''''''''''''''''''''''''''''''CCCCCC
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*------------------------------------------"++"+=+++++=+++++"++=======M===M==MM--MM-Z---MMMMMM-ZZZ--ZZZZ-ZZ-Z-ZZZ-------MMM-----Z-ZZ-
+..........................................+CC+CCCCCCCCCCCCC+CCCCCCCCC CCC CC  CC  C CCC      C   CC    C  C C   CCCCCCC   CCCCC C  C
+''''''''''''''''''''''''''''''''''''''''''C  C             C
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*------"-----------------"----""-------"""--""""++=++"""+""""++=============MMMMMMM--MMMMM==MM-ZZ-Z--ZZZ----Z--Z---------M-M-------Z-
+......+.................C....CC.......+++..++++CCCCC+++C++++CCCCCCCCCCCCCCC       CC     CC  C  C CC   CCCC CC CCCCCCCCC C CCCCCCC C
+''''''C'''''''''''''''''B''''BB'''''''CCC''CCCC     CCC CCCC
+XXXXXX XXXXXXXXXXXXXXXXXHXXXXHHXXXXXXX   XX
+CCCCCC CCCCCCCCCCCCCCCCCXCCCCXXCCCCCCC   CC
*-------------------"--"-"""-"""--------"++"-----"++"+"-"++++++==========M=MMMMMMMM-MMM=MM=MMM-------ZZ---Z------Z-----MMM-MM------ZZ
+...................C..C.CCC.CCC........+CC+.....+CC+C+.+CCCCCCCCCCCCCCCC C        C   C  C   CCCCCCC  CCC CCCCCC CCCCC   C  CCCCCC
+'''''''''''''''''''B''B'BBB'BBB''''''''C  C'''''C  C C'C
+XXXXXXXXXXXXXXXXXXXHXXHXHHHXHHHXXXXXXXX    XXXXX      X
+CCCCCCCCCCCCCCCCCCCXCCXCXXXCXXXCCCCCCCC    CCCCC      C
*------------"-------------"--""----------+=+-----""""++""+++===M====MM==MMMMMMMM--MMMMMM==MM--------ZZZ------ZZZ-ZZ---M-M--M--MZZ--Z
+............C.............C..CC..........CCC.....++++CC++CCCCCC CCCC  CC        CC      CC  CCCCCCCC   CCCCCC   C  CCC C CC CC   CC
+''''''''''''B'''''''''''''B''BB''''''''''   '''''CCCC  CC
+XXXXXXXXXXXXHXXXXXXXXXXXXXHXXHHXXXXXXXXXX   XXXXX
+CCCCCCCCCCCCXCCCCCCCCCCCCCXCCXXCCCCCCCCCC   CCCCC
*------------------------"-"--"------------+++"""-""""++++++==+======MMMMMMMMMMMMMMMMM==MMMMM---M----Z------ZZZZZZZ----MM-----------Z
+........................C.C..C............CCC+++.++++CCCCCCCCCCCCCCC                 CC     CCC CCCC CCCCCC       CCCC  CCCCCCCCCCC
+''''''''''''''''''''''''B'B''B''''''''''''   CCC'CCCC
+XXXXXXXXXXXXXXXXXXXXXXXXHXHXXHXXXXXXXXXXXX      X
+CCCCCCCCCCCCCCCCCCCCCCCCXCXCCXCCCCCCCCCCCC      C
*------------------------""--"--------------"++""++++"+========+==M==MM=MMMMMMM===MM==MM==M-MM-----ZZZ-MM----ZZZZZZ-----M-----------Z
+........................CC..C..............+CC++CCCC+CCCCCCCCCCCC CC  C       CCC  CC  CC C  CCCCC   C  CCCC      CCCCC CCCCCCCCCCC
+''''''''''''''''''''''''BB''B''''''''''''''C  CC    C
+XXXXXXXXXXXXXXXXXXXXXXXXHHXXHXXXXXXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCCXXCCXCCCCCCCCCCCCCC
*----------------------"----""--------------"-"-"+======+=========M=MMM====M======MM=++===MMMM-----ZZ--MM----Z--ZZZ----M--M----MM--MZ
+......................C....CC..............C.+.+CCCCCCCCCCCCCCCCC C   CCCC CCCCCC  CCCCCC    CCCCC  CC  CCCC CC   CCCC CC CCCC  CC
+''''''''''''''''''''''B''''BB''''''''''''''B'C'C
+XXXXXXXXXXXXXXXXXXXXXXHXXXXHHXXXXXXXXXXXXXXHX X
+CCCCCCCCCCCCCCCCCCCCCCXCCCCXXCCCCCCCCCCCCCCXC C
*-----------------------"-----------------"---------++=======M==MMM=======++=="++M=++=+=MMMMMM---Z----M--------ZZZZ----M--M-MMMMM--M-
+.......................C.................C.........CCCCCCCCC CC   CCCCCCCCCCC+CC CCCCCC      CCC CCCC CCCCCCCC    CCCC CC C     CC C
+'''''''''''''''''''''''B'''''''''''''''''B'''''''''                          C
+XXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXHXXXXXXXXX
+CCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCXCCCCCCCCC
*----------------"-------"---------"--""--"""-------"++"""+++==++======++==========+++=MM=MMMM---Z--MMMMM--------ZZ---MM-MMMM-MMM----
+................C.......C.........C..CC..CCC.......+CC+++CCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C    CCC CC     CCCCCCCC  CCC  C    C   CCCC
+''''''''''''''''B'''''''B'''''''''B''BB''BBB'''''''C  CCC
+XXXXXXXXXXXXXXXXHXXXXXXXHXXXXXXXXXHXXHHXXHHHXXXXXXX
+CCCCCCCCCCCCCCCCXCCCCCCCXCCCCCCCCCXCCXXCCXXXCCCCCCC
*---------------""----"""--------"--------""""--------"---"""++++===+=+++==+++===M=+=M==M=MMM---Z--MMM----MM----------M--MMM-M==---M-
+...............CC....CCC........C........CCCC........+...+++CCCCCCCCCCCCCCCCCCCC CCC CC C   CCC CC   CCCC  CCCCCCCCCC CC   C CCCCC C
+'''''''''''''''BB''''BBB''''''''B''''''''BBBB''''''''C'''CCC
+XXXXXXXXXXXXXXXHHXXXXHHHXXXXXXXXHXXXXXXXXHHHHXXXXXXXX XXX
+CCCCCCCCCCCCCCCXXCCCCXXXCCCCCCCCXCCCCCCCCXXXXCCCCCCCC CCC
*---------------""-""""""----------""---""""""--"------------"+++=++=+=+=+++++=========MM=MMM-----M-M--MMMM---M----MMMM-MM=M-M+M--M--
+...............CC.CCCCCC..........CC...CCCCCC..C............+CCCCCCCCCCCCCCCCCCCCCCCCC  C   CCCCC C CC    CCC CCCC    C  C C C CC CC
+'''''''''''''''BB'BBBBBB''''''''''BB'''BBBBBB''B''''''''''''C
+XXXXXXXXXXXXXXXHHXHHHHHHXXXXXXXXXXHHXXXHHHHHHXXHXXXXXXXXXXXX
+CCCCCCCCCCCCCCCXXCXXXXXXCCCCCCCCCCXXCCCXXXXXXCCXCCCCCCCCCCCC
*-----------"-------"""---"--"------"--""-"""""""------------""-++++=====+++===+++====M==MM-----MM-M--MMMM---MMMMM-MM-MMMM=M-==-MM=MM
+...........C.......CCC...C..C......C..CC.CCCCCCC............++.CCCCCCCCCCCCCCCCCCCCCC CC  CCCCC  C CC    CCC     C  C    C CCCC  C
+'''''''''''B'''''''BBB'''B''B''''''B''BB'BBBBBBB''''''''''''CC'
+XXXXXXXXXXXHXXXXXXXHHHXXXHXXHXXXXXXHXXHHXHHHHHHHXXXXXXXXXXXX  X
+CCCCCCCCCCCXCCCCCCCXXXCCCXCCXCCCCCCXCCXXCXXXXXXXCCCCCCCCCCCC  C
*----------""-"-"--""""--"""--"---"""-"""""""""""""--"----"--""""++=++++"""++++++====MMMM------MMM--MMMM---MMMMM-MMM-MMM===--M--MMMM=
+..........CC.C.C..CCCC..CCC..C...CCC.CCCCCCCCCCCCC..C....C..++++CCCCCCC+++CCCCCCCCCC    CCCCCC   CC    CCC     C   C   CCCCC CC    C
+''''''''''BB'B'B''BBBB''BBB''B'''BBB'BBBBBBBBBBBBB''B''''B''CCCC       CCC
+XXXXXXXXXXHHXHXHXXHHHHXXHHHXXHXXXHHHXHHHHHHHHHHHHHXXHXXXXHXX
+CCCCCCCCCCXXCXCXCCXXXXCCXXXCCXCCCXXXCXXXXXXXXXXXXXCCXCCCCXCC
*--------"------""-"""""""""-""---"""""""""""""""---"-----------""+"--""-""+"""+++++=MMMM--Z--MMMMMMMMMM-M-MMMMMMMMMMM+==M--MMMMM-M-=
+........+......CC.CCCCCCCCC.CC...CCCCCCCCCCCCCCC...C...........++C+..++.++C+++CCCCCC    CC CC          C C           CCC CC     C CC
+''''''''C''''''BB'BBBBBBBBB'BB'''BBBBBBBBBBBBBBB'''B'''''''''''CC C''CC'CC CCC
+XXXXXXXX XXXXXXHHXHHHHHHHHHXHHXXXHHHHHHHHHHHHHHHXXXHXXXXXXXXXXX    XX  X
+CCCCCCCC CCCCCCXXCXXXXXXXXXCXXCCCXXXXXXXXXXXXXXXCCCXCCCCCCCCCCC    CC  C
*---------""------""""-""-""-"""--""""""""""""""""------"--""----------"""+++++++===MM------MMMMMMMMMMMMMMM==MM=M--MM=+=MMM=+MM=MM--+
+.........CC......CCCC.CC.CC.CCC..CCCCCCCCCCCCCCCC......C..++..........+++CCCCCCCCCC  CCCCCC               CC  C CC  CCC   CC  C  CCC
+'''''''''BB''''''BBBB'BB'BB'BBB''BBBBBBBBBBBBBBBB''''''B''CC''''''''''CCC
+XXXXXXXXXHHXXXXXXHHHHXHHXHHXHHHXXHHHHHHHHHHHHHHHHXXXXXXHXX  XXXXXXXXXX
+CCCCCCCCCXXCCCCCCXXXXCXXCXXCXXXCCXXXXXXXXXXXXXXXXCCCCCCXCC  CCCCCCCCCC
*----------"--""""""-""""-""--""---"""""""""""""""""-"""-"--"----""----"""+=++++""MMMMM--MM==M===MMMMM==M=MMMM==MMMM==+=M=+"+===+M-=+
+..........C..CCCCCC.CCCC.CC..CC...CCCCCCCCCCCCCCCCC.CCC.C..C....++....+++CCCCCC++     CC  CC CCC     CC C    CC    CCCC CC+CCCCC CCC
+''''''''''B''BBBBBB'BBBB'BB''BB'''BBBBBBBBBBBBBBBBB'BBB'B''B''''CC''''CCC      CC                                         C
+XXXXXXXXXXHXXHHHHHHXHHHHXHHXXHHXXXHHHHHHHHHHHHHHHHHXHHHXHXXHXXXX  XXXX
+CCCCCCCCCCXCCXXXXXXCXXXXCXXCCXXCCCXXXXXXXXXXXXXXXXXCXXXCXCCXCCCC  CCCC
*-----------"""""""""""""""""""-""""""""""""""""-""""""""--------"""-""+""-""-"""==M=M===+===++=MMMMM==MM=M====MM=+"++"++"-"++==+=M+=
+...........CCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCC.CCCCCCCC........+++.++C++.++.+++CC C CCCCCCCCCC     CC  C CCCC  CC+CC+CC+.+CCCCCC CC
+'''''''''''BBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB'BBBBBBBB''''''''CCC'CC CC'CC'CCC                                  C  C  C'C
+XXXXXXXXXXXHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXHHHHHHHHXXXXXXXX   X     X  X                                            X
+CCCCCCCCCCCXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCXXXXXXXXCCCCCCCC   C     C  C                                            C
*-----------""""""-""""-""""""""""""""""""""""""""""""""""-"--"----"++"""""""""+==M=++"++++++++===============MM+""""""+"--+""++"==+=
+...........CCCCCC.CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..+....+CC+++++++++CCC CCC+CCCCCCCCCCCCCCCCCCCCCCC  C++++++C+..C++CC+CCCC
+'''''''''''BBBBBB'BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''C''''C  CCCCCCCCC       C                          CCCCCC C'' CC  C
+XXXXXXXXXXXHHHHHHXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXX XXXX                                                      XX
+CCCCCCCCCCCXXXXXXCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCC CCCC                                                      CC
*------""--"-""""""""""""""""""""-""""""""""""""""""""-"""""----"-""""++""""""""+++""""""++""++===+++++=+++==++--""--"+"--"=+"+++MM=+
+......CC..C.CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCC.CCCCC....+.++++CC++++++++CCC++++++CC++CCCCCCCCCCCCCCCCCC..++..+C+..+CC+CCC  CC
+''''''BB''B'BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBB'BBBBB''''C'CCCC  CCCCCCCC   CCCCCC  CC                  ''CC''C C''C  C
+XXXXXXHHXXHXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHXHHHHHXXXX X                                             XX  XX   XX
+CCCCCCXXCCXCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXCXXXXXCCCC C                                             CC  CC   CC
*--------"-"""""""""""""--""""-"""-""-""""""""""""--""""-"""--"+"-----"-""+++"---"--"""++"+++++=+++++-+""++"-----"-+"----"+"--"""+"M"
+........C.CCCCCCCCCCCCC..CCCC.CCC.CC.CCCCCCCCCCCC..CCCC.CCC..+C+.....+.++CCC+...+..+++CC+CCCCCCCCCCC.C++CC+.....+.C+....+C+..+++C+ +
+''''''''B'BBBBBBBBBBBBB''BBBB'BBB'BB'BBBBBBBBBBBB''BBBB'BBB''C C'''''C'CC   C'''C''CCC  C           ' CC  C'''''C' C''''C C''CCC C C
+XXXXXXXXHXHHHHHHHHHHHHHXXHHHHXHHHXHHXHHHHHHHHHHHHXXHHHHXHHHXX   XXXXX X      XXX XX                 X      XXXXX X  XXXX   XX
+CCCCCCCCXCXXXXXXXXXXXXXCCXXXXCXXXCXXCXXXXXXXXXXXXCCXXXXCXXXCC   CCCCC C      CCC CC                 C      CCCCC C  CCCC   CC
*------""-"""""""""""""""""""""-"""""""""""""""""""""""""""""-------------------"------------------------"------"-"------+""--+++"+=-
+......CC.CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC...................C........................+......+.+......C++..CCC+CC.
+''''''BB'BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''''''''''''''''''B''''''''''''''''''''''''C''''''C'C'''''' CC''   C  '
+XXXXXXHHXHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXX XXXXXX X XXXXXX   XX      X
+CCCCCCXXCXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCC CCCCCC C CCCCCC   CC      C
*-------""-"""""""""""""""""""""""""""""""""""""-""""""""-"-------------------"--""----------------"--------"+""--------"-----+++"""-
+.......CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC.C...................C..CC................C........+C++........+.....CCC+++.
+'''''''BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB'B'''''''''''''''''''B''BB''''''''''''''''B''''''''C CC''''''''C'''''   CCC'
+XXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHXHXXXXXXXXXXXXXXXXXXXHXXHHXXXXXXXXXXXXXXXXHXXXXXXXX    XXXXXXXX XXXXX      X
+CCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXCXCCCCCCCCCCCCCCCCCCCXCCXXCCCCCCCCCCCCCCCCXCCCCCCCC    CCCCCCCC CCCCC      C
*------"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""--"""-"""""-"-""-""""-""-"""---------"--"-------------+"+---"
+......CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCC..CCC.CCCCC.C.CC.CCCC.CC.CCC.........+..C.............C+C...C
+''''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB''BBB'BBBBB'B'BB'BBBB'BB'BBB'''''''''C''B''''''''''''' C '''B
+XXXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHXXHHHXHHHHHXHXHHXHHHHXHHXHHHXXXXXXXXX XXHXXXXXXXXXXXXX   XXXH
+CCCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXCCXXXCXXXXXCXCXXCXXXXCXXCXXXCCCCCCCCC CCXCCCCCCCCCCCCC   CCCX
*----------""""-"""""""""""""""""""""""""""""""""""""-""""-"--"-"-"""""-""-"""""-"""--"--"-"""""-""--"""-------"---------""----"---""
+..........CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCC.C..C.C.CCCCC.CC.CCCCC.CCC..C..C.CCCCC.CC..CCC.......C.........CC....+...CC
+''''''''''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBB'B''B'B'BBBBB'BB'BBBBB'BBB''B''B'BBBBB'BB''BBB'''''''B'''''''''BB''''C'''BB
+XXXXXXXXXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHXHXXHXHXHHHHHXHHXHHHHHXHHHXXHXXHXHHHHHXHHXXHHHXXXXXXXHXXXXXXXXXHHXXXX XXXHH
+CCCCCCCCCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXCXCCXCXCXXXXXCXXCXXXXXCXXXCCXCCXCXXXXXCXXCCXXXCCCCCCCXCCCCCCCCCXXCCCC CCCXX
*-----""""""""""""""""""""""""""""""""""""""""""""-"""""""-""""""""""""""""""""""""""""--""""""-""""""-""""""""""------""""---"-"""""
+.....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCC.CCCCCC.CCCCCCCCCC......CCCC...C.CCCCC
+'''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBBB'BBBBBB'BBBBBBBBBB''''''BBBB'''B'BBBBB
+XXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHXHHHHHHXHHHHHHHHHHXXXXXXHHHHXXXHXHHHHH
+CCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXCXXXXXXCXXXXXXXXXXCCCCCCXXXXCCCXCXXXXX
*---------"""""""""-"""""""""""""""-""""""""""""""-""""""--"""-"""""""""""""""""""""""""-"""""""""-""""""""""----""--"""-""""""""""""
+.........CCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCCCCCCCCC.CCCCCC..CCC.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCC.CCCCCCCCCC....++..CCC.CCCCCCCCCCCC
+'''''''''BBBBBBBBB'BBBBBBBBBBBBBBB'BBBBBBBBBBBBBB'BBBBBB''BBB'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBB'BBBBBBBBBB''''CC''BBB'BBBBBBBBBBBB
+XXXXXXXXXHHHHHHHHHXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXHHHHHHXXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHXHHHHHHHHHHXXXX  XXHHHXHHHHHHHHHHHH
+CCCCCCCCCXXXXXXXXXCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCXXXXXXCCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXCXXXXXXXXXXCCCC  CCXXXCXXXXXXXXXXXX
*--------""-"""""""""""""""""""""""""""""""""""""-""-"""-"""""-"""-"""""""""""""""""""""""""""-"-"""""""""""------""""""-""""""""""""
+........CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC.CCC.CCCCC.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCCCCC......CCCCCC.CCCCCCCCCCCC
+''''''''BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB'BBB'BBBBB'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBBBBBBB''''''BBBBBB'BBBBBBBBBBBB
+XXXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXHHHXHHHHHXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHHHHHHXXXXXXHHHHHHXHHHHHHHHHHHH
+CCCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCXXXCXXXXXCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXXXXXXCCCCCCXXXXXXCXXXXXXXXXXXX
1
-
0                                            PRINCETON UNIVERSITY COMPUTER CENTER CLINIC
-
-
-
-
-
*                                                           +------------+
*                                                           +            +
*                                                           + COMPUTER   +
*                                                           +            +
*                                                           +    PICTURE +
*                                                           +            +
*                                                           +------------+
-
-
-
-                                                          ALBERT EINSTEIN
-                                                   COMPUTER TRANSCRIPTION PROCESS
0                                                                 BY
0                                                         SAMUEL P. HARBISON
0                                                       COMPUTER CENTER CLINIC
*                                                        PRINCETON UNIVERSITY
*                                                          87 PROSPECT ST.
*                                                    PRINCETON, NEW JERSEY 08540
-                                                  COPYRIGHT 1973 BY S. P. HARBISON
-                                                       SHEET  2 OF  2 SHEETS
-                         THE COMPLETE PICTURE IS CONSTRUCTED BY TAPING THE SHEETS TOGETHER SO THAT THE
*                         LAST CHARACTER ON THE FIRST SHEET MEETS THE FIRST CHARACTER ON THE NEXT SHEET
*                         WITH NO WHITE SPACE BETWEEN THEM.  THIS WILL REQUIRE TRIMMING THE SHEETS WITH
*                         SCISSORS.  DO NOT PUT TAPE ON THE PRINTED SIDE OF THE PAPER; TAPE FROM BEHIND.
-
-
-
-
-
-
0
*"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&
*""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#"""""""""""""""#
+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCX
+'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBB$
+XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHH_
+CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXX&
*+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX
+ BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$
+ HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_
+ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&
*+-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#
+C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCX
+ 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$
+ XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_
+ CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&
*-+""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#""""""""""""""""-""""""""""#
+.CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCC.CCCCCCCCCCX
+' BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBB'BBBBBBBBBB$
+X HHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHXHHHHHHHHHH_
+C XXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXCXXXXXXXXXX&
*-+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""#""""""""""""""""""""""""""""
+.C+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+' CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB$BBBBBBBBBBBBBBBBBBBBBBBBBBBB
+X  HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH_HHHHHHHHHHHHHHHHHHHHHHHHHHHH
+C  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&XXXXXXXXXXXXXXXXXXXXXXXXXXXX
*--+-"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+..C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'' 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XX XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*--"""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+..++C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+''CCB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XX  HXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC  XCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*+--+-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+C..C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ '' 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XX XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CC CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*""-"+"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+++.+CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CC'C B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+  X  HXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+  C  XCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"+--+-"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
++C..C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C '' 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+  XX XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+  CC CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*+"+-"=-"-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+C+C.+C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ C 'C 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+   X  XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+   C  CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*""+"-"""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+++C+.++C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+CC C'CCB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+    X  HXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+    C  XCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*-+"+--+-"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.C+C..C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+' C '' 'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+X   XX XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+C   CC CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*--+"+--+"--"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+..C+C..CC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'' C '' B''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XX   XX HXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC   CC XCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"-"+"+-"""--"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
++.+C+C.++C..+.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C'C C 'CCB''C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ X    X  HXX XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ C    C  XCC CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*+--+"+--+---M"""""""""""""""""""-""""""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""
+C..C+C..C... +CCCCCCCCCCCCCCCCCC.CCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ '' C '' ''' CBBBBBBBBBBBBBBBBBB'BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XX   XX XXX  HHHHHHHHHHHHHHHHHHXHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CC   CC CCC  XXXXXXXXXXXXXXXXXXCXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"+--+"+-""-"-=-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
++C..C+C.++.+CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C '' C 'CC'C  'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+  XX   X  X   XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+  CC   C  C   CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*-+"--+"+-+-=-M-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.C+..C+C.C.CC .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+' C'' C ' '   'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+X  XX   X X   XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+C  CC   C C   CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*--="-+"+--"M-Z"""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+..C+.C+C..+ C +CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'' C' C ''C   CBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XX  X   XX     HHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CC  C   CC     XXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*-"-+--+""-+--Z"-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.C.C..C++.CCC +.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+'B' '' CC'    C'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+XHX XX   X     XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+CXC CC   C     CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"-"""-""+-=-ZZ+-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""""""""""""""""""""""
+C.C++.++C.CC  C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCC
+B'BCC'CC '     'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB
+HXH  X   X     XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHH
+XCX  C   C     CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXX
*""--+--""-M-ZZM-"""""""-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CC..C..++. C   .CCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BB'' ''CC'     'BBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHXX XX  X     XHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXCC CC  C     CXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*""-"-"---+-ZZZM-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CC.C.+...CC    .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BB'B'C'''      'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHXHX XXX      XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXCXC CCC      CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"""""+---M-ZZZM-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCC... C    .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBB '''      'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHHHH XXX      XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXXXX CCC      CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"""""-+-"M-ZZZ=-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCC.C.+ C   C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBB' 'C      'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHHHHX X       XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXXXXC C       CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"""""""-+-ZZ--M-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCC+.CC  CC .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBC'       'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHHHHH X       XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXXXXX C       CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*""""""-"M--Z----""""""""""""""""""""""""""""""""""-"+"""""""""""""""""""""""""""""-"""""""""""""""
+CCCCCC.+ CC CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC
+BBBBBB'C       'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB
+HHHHHHX        XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHH
+XXXXXXC        CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXX
*""""""""-----Z--""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+CCCCCCC+CCCCC C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+BBBBBBBC       'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+HHHHHHH        XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+XXXXXXX        CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*""""""-+-----ZZ""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""-""""""-""""
+CCCCCC.CCCCCC  +CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC.CCCCCC.CCCC
+BBBBBB'        CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB'BBBBBB'BBBB
+HHHHHHX         HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHXHHHHHHXHHHH
+XXXXXXC         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXCXXXXXXCXXXX
*""""""-M-Z---ZZ+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""---"""""""-"""-"--""""
+CCCCCC. C CCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...CCCCCCC.CCC.C..CCCC
+BBBBBB'         BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''BBBBBBB'BBB'B''BBBB
+HHHHHHX         HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXHHHHHHHXHHHXHXXHHHH
+XXXXXXC         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCXXXXXXXCXXXCXCCXXXX
*"""""""-ZZ-ZZZZ=-""""""""""-""""""""""""""""""""-""""""""""""""""""""""--""""""-""""""""""--""--""
+CCCCCC+C  C    C.CCCCCCCCCC.CCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCC..CCCCCC.CCCCCCCCCC..CC..CC
+BBBBBBC         'BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB''BBBBBB'BBBBBBBBBB''BB''BB
+HHHHHH          XHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHXHHHHHHHHHHXXHHXXHH
+XXXXXX          CXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXCXXXXXXXXXXCCXXCCXX
*""-"--+ZZZZZZZZM-""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""""""""""""""------"
+CC.C..C         .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCC......C
+BB'B''          'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBB''''''B
+HHXHXX          XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHXXXXXXH
+XXCXCC          CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXCCCCCCX
*""-"--MZZZZZZZZ--""""""""""""""""""""""""""""-"-"""""""""""""""""""""""""""""""""""""""""""-"----"
+CC.C..         C.CCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C....C
+BB'B''          'BBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''''B
+HHXHXX          XHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXH
+XXCXCC          CXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCX
*---"-"-ZZZZZZZZ--"-""""""""""""-""""""""""-""-""""""""""""""""-"""""""""""""-""""-"""-"""""-"----"
+...C.+C        C.C.CCCCCCCCCCCC.CCCCCCCCCC.CC.CCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.CCCC.CCC.CCCCC.C....C
+'''B'C          'B'BBBBBBBBBBBB'BBBBBBBBBB'BB'BBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'BBBB'BBB'BBBBB'B''''B
+XXXHX           XHXHHHHHHHHHHHHXHHHHHHHHHHXHHXHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHHHHXHHHXHHHHHXHXXXXH
+CCCXC           CXCXXXXXXXXXXXXCXXXXXXXXXXCXXCXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXXXXCXXXCXXXXXCXCCCCX
*---"-=ZZZZZZZZZZ"""""""-"""""""-""-""-"-"""""""""""""""""""""""""""-"""""""--""-"--""---"--------"
+...C.C          +CCCCCC.CCCCCCC.CC.CC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC..CC.C..CC...C........C
+'''B'           CBBBBBB'BBBBBBB'BB'BB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB''BB'B''BB'''B''''''''B
+XXXHX            HHHHHHXHHHHHHHXHHXHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXXHHXHXXHHXXXHXXXXXXXXH
+CCCXC            XXXXXXCXXXXXXXCXXCXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCCXXCXCCXXCCCXCCCCCCCCX
*--"---ZZZZZZZZZZ"""""""""""""""""""""""""""""""-"""""""""""""""""""""""""""""""""""""""""---"--"""
+..C..C          +CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC...C..CCC
+''B''           CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''B''BBB
+XXHXX            HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXHXXHHH
+CCXCC            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCXCCXXX
*"---"ZZZZZZZZZZZ=-"""""""""""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""
+C...+           C.CCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CC
+B'''C            'BBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BB
+HXXX             XHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHH
+XCCC             CXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXX
*"-"-=ZZZ-ZZZZZZZM-"-"""""""""---""""""""""""""""""""""""""""""""""""""""""""""""""""""--"""""""---
+C.C.C   C        .C.CCCCCCCCC...CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCCC...
+B'B'             'B'BBBBBBBBB'''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBBBB'''
+HXHX             XHXHHHHHHHHHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHHHXXX
+XCXC             CXCXXXXXXXXXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXXXCCC
*"""-MZZZZ-ZZZZZZ-----""""-""""----"""-"""""""""""""""""""""""""""""-"""""""""""""-"---"--------"--
+CCC.     C      C....CCCC.CCCC....CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCC.C...C........C..
+BBB'             ''''BBBB'BBBB''''BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBB'B'''B''''''''B''
+HHHX             XXXXHHHHXHHHHXXXXHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHXHXXXHXXXXXXXXHXX
+XXXC             CCCCXXXXCXXXXCCCCXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXCXCCCXCCCCCCCCXCC
*"""-MZZZZZZZZZZZ--"---"""""""""-"-""""""""""""""""""""""""""""""""""""""""""""""""""--"--"-------"
+CCC.            C.C...CCCCCCCCC.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..C..C.......C
+BBB'             'B'''BBBBBBBBB'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''B''B'''''''B
+HHHX             XHXXXHHHHHHHHHXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXHXXHXXXXXXXH
+XXXC             CXCCCXXXXXXXXXCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCXCCXCCCCCCCX
*"""-+ZZZZZZZZZZZZ-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-------------"
+CCC.C            .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.............C
+BBB'             'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''''''''''''B
+HHHX             XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXH
+XXXC             CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCX
*""""+ZZZZZZZZZZZZ-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-"--"--""----"-"
+CCCCC            .CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..C..CC....C.C
+BBBB             'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''B''BB''''B'B
+HHHH             XHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXHXXHHXXXXHXH
+XXXX             CXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCXCCXXCCCCXCX
*""---ZZZZZZZZZZZ--"-""""""""""""""""""""""""""""""""""""""""""""""""""""""-"""""------------------
+CC..C           C.C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCC..................
+BB''             'B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBB''''''''''''''''''
+HHXX             XHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHXXXXXXXXXXXXXXXXXX
+XXCC             CXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXCCCCCCCCCCCCCCCCCC
*""""ZZZZZZZZZZZXZ-"""-""""""""""""""""""""""""""""""""""""""""""""""""""""-"-"--------------------
+CCC+             .CCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C.C....................
+BBBC             'BBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B'B''''''''''''''''''''
+HHH              XHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXHXXXXXXXXXXXXXXXXXXXX
+XXX              CXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCXCCCCCCCCCCCCCCCCCCCC
*-"-+ZZZZZ-ZZZZZZZ-"-"""""""""""""""""""""""-""""""""""""""""""""""""""""""-"""--"----------------"
+.C.C     C       .C.CCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC..C................C
+'B'              'B'BBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB''B''''''''''''''''B
+XHX              XHXHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXXHXXXXXXXXXXXXXXXXH
+CXC              CXCXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCCXCCCCCCCCCCCCCCCCX
*""-=ZZZZ-ZZZZZZZZ"""-"""""""""""""""""""""""""""""""""""""""""""""""""""""""""--------------------
+CC.C    C        +CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC....................
+BB'              CBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''''''''''''''''''
+HHX               HHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXXXXXXXXXXXXXXXX
+XXC               XXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCCCCCCCCCCCCCCCC
*---=ZZZZZZZZZZZZZ+"--"""""""""""""""-"""""""""""""""-"""""""-""""""""""""""""-""""-"-"------------
+...C             CC..CCCCCCCCCCCCCCC.CCCCCCCCCCCCCCC.CCCCCCC.CCCCCCCCCCCCCCCC.CCCC.C.C............
+'''               B''BBBBBBBBBBBBBBB'BBBBBBBBBBBBBBB'BBBBBBB'BBBBBBBBBBBBBBBB'BBBB'B'B''''''''''''
+XXX               HXXHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHXHHHHHHHXHHHHHHHHHHHHHHHHXHHHHXHXHXXXXXXXXXXXX
+CCC               XCCXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXCXXXXXXXCXXXXXXXXXXXXXXXXCXXXXCXCXCCCCCCCCCCCC
*---MZZZZZZZZZZZZZ+---""""""""""----"""""""""""""""""""""""""-""""""""""""""-"-""""-"-"""""--------
+...              C...CCCCCCCCCC....CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCC.C.CCCC.C.CCCCC........
+'''               '''BBBBBBBBBB''''BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBB'B'BBBB'B'BBBBB''''''''
+XXX               XXXHHHHHHHHHHXXXXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHXHXHHHHXHXHHHHHXXXXXXXX
+CCC               CCCXXXXXXXXXXCCCCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXCXCXXXXCXCXXXXXCCCCCCCC
*-"-MZZZZZZZZZZZZZM---"""""""""-"--"-"""""""""""""""""""""""""-""""""""""""-----""-----"""""-------
+.C.               ...CCCCCCCCC.C..C.CCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCC.....CC.....CCCCC.......
+'B'               '''BBBBBBBBB'B''B'BBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBB'''''BB'''''BBBBB'''''''
+XHX               XXXHHHHHHHHHXHXXHXHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHXXXXXHHXXXXXHHHHHXXXXXXX
+CXC               CCCXXXXXXXXXCXCCXCXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXCCCCCXXCCCCCXXXXXCCCCCCC
*----ZZZZZZZZZZZZZ-----"""----"----"--"""----"-----""---"--"""""----""""""---""-"-""---""-"--------
+...C             C....CCC....C....C..CCC....C.....CC...C..CCCCC....CCCCCC...CC.C.CC...CC.C........
+'''               ''''BBB''''B''''B''BBB''''B'''''BB'''B''BBBBB''''BBBBBB'''BB'B'BB'''BB'B''''''''
+XXX               XXXXHHHXXXXHXXXXHXXHHHXXXXHXXXXXHHXXXHXXHHHHHXXXXHHHHHHXXXHHXHXHHXXXHHXHXXXXXXXX
+CCC               CCCCXXXCCCCXCCCCXCCXXXCCCCXCCCCCXXCCCXCCXXXXXCCCCXXXXXXCCCXXCXCXXCCCXXCXCCCCCCCC
*--"ZZXZZXZXZZXXXXZ"-----------------------------------------"--"---""--"--"-----------------------
+..+               +.........................................C..C...CC..C..C.......................
+''C               C'''''''''''''''''''''''''''''''''''''''''B''B'''BB''B''B'''''''''''''''''''''''
+XX                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXHXXXHHXXHXXHXXXXXXXXXXXXXXXXXXXXXXX
+CC                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCXCCCXXCCXCCXCCCCCCCCCCCCCCCCCCCCCCC
*--"ZXXXXXZZXXZXXXZ+------------------------------------------"""----"""---------------------------
+..+               C..........................................CCC....CCC...........................
+''C                ''''''''''''''''''''''''''''''''''''''''''BBB''''BBB'''''''''''''''''''''''''''
+XX                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHXXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CC                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXCCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--"ZXXXXXXXXXXXXXXM-------------------------------------------""----------------------------------
+..+                ...........................................CC..................................
+''C                '''''''''''''''''''''''''''''''''''''''''''BB''''''''''''''''''''''''''''''''''
+XX                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CC                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*""+ZXXXXXXZZXXXXXX--------------------------------------"-----""----------------------------------
+++C               C.....................................C.....CC..................................
+CC                 '''''''''''''''''''''''''''''''''''''B'''''BB''''''''''''''''''''''''''''''''''
+                   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"++ZXXXXXXZXXXXXXXZ"--"---------------------------------------------------------------------------
++CC                +..+...........................................................................
+C                  C''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                    XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    CC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+="ZXXXXXZZZXXXXXXX=------------------------------------------------------------------------------
+CC+                C..............................................................................
+  C                 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*=""ZXXXXXXZZZZXXXXXM------------------------------------------------------------------------------
+C++                 ..............................................................................
+ CC                 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+""ZXXXXXZXZXZXXXXXZ"------------------------------------------------------------"----------------
+C++                 +............................................................C................
+ CC                 C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''B''''''''''''''''
+                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXX
+                     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCC
*+++ZXXXXXXXXXXXXXXXZ----"""-----------------------------------------------------------------------
+CCC                 ....CCC.......................................................................
+                    ''''BBB'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                    XXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                    CCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*M++XXXZXXZZZXXXXXXXZ"----""-----------------------------------------------------------------------
+ CC                 +....CC.......................................................................
+                    C''''BB'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                     XXXXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                     CCCCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*="+XXXZZZXZZZXZXXZXZ+-"--"------------------------------------------------------------------------
+C+C                 C.C..C........................................................................
+ C                   'B''B''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                     XHXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                     CXCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+"+ZZZZZZZZZZZZXXXXZM----"""------"---"---------------"-------------------------------------------
+C+C                  ....CCC......C...C...............C...........................................
+ C                   ''''BBB''''''B'''B'''''''''''''''B'''''''''''''''''''''''''''''''''''''''''''
+                     XXXXHHHXXXXXXHXXXHXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                     CCCCXXXCCCCCCXCCCXCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+"-=ZXZXZXZZZXZXZXXXM----"-"-------------"--"-"--"-""---------------------------------------------
+C+.C                 ....C.C.............C..C.C..C.CC.............................................
+ C'                  ''''B'B'''''''''''''B''B'B''B'BB'''''''''''''''''''''''''''''''''''''''''''''
+  X                  XXXXHXHXXXXXXXXXXXXXHXXHXHXXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+  C                  CCCCXCXCCCCCCCCCCCCCXCCXCXCCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+--"=-ZXZZXZZZZZZZXZ--"-"""-""-------"--"-----"---"------"----------------------------------------
+C..+CC              C.C.CCC.CC.......C..C.....C...C......C........................................
+ ''C                 'B'BBB'BB'''''''B''B'''''B'''B''''''B''''''''''''''''''''''''''''''''''''''''
+ XX                  XHXHHHXHHXXXXXXXHXXHXXXXXHXXXHXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ CC                  CXCXXXCXXCCCCCCCXCCXCCCCCXCCCXCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"-"++=--ZZZZXXXZZZZXZ-"-"-""----------------------------------------------------------------------
++.+CCCCC             .C.C.CC......................................................................
+C'C                  'B'B'BB''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+ X                   XHXHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ C                   CXCXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--"+""++=-ZXXXXXXZZXZ-"""-""----------------------------------------------------------------------
+..+C++CCCC           .CCC.CC......................................................................
+''C CC               'BBB'BB''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+XX                   XHHHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CC                   CXXXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-------"+-ZZXXXXZZXXZ"-"-""----------------------------------------------------------------"-"----
+.......+CC           +.C.CC................................................................+.+....
+'''''''C             C'B'BB''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''C'C''''
+XXXXXXX               XHXHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X XXXX
+CCCCCCC               CXCXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C CCCC
*"--"+=-ZZXX+MZXXXXXXX=---"""-----------------"----------------------------------------------------
++..+CCC    C         C...CCC.................C....................................................
+C''C                  '''BBB'''''''''''''''''B''''''''''''''''''''''''''''''''''''''''''''''''''''
+ XX                   XXXHHHXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ CC                   CCCXXXCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*=MM-ZZXXXXX+"=MXXXXXXM---"""----------------------------------------------------------------------
+C  C       C+C        ...CCC......................................................................
+            C         '''BBB''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                      XXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                      CCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXM--"+-XXXX-----"-----------------------------------------------------------------------
+            ..+CC    C....C.......................................................................
+            ''C       ''''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+            XX        XXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+            CC        CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXX-"---"=XXXZ----------------------------------------------------------------------------
+           C+...+C    ............................................................................
+            C'''C     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+             XXX      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+             CCC      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXX-"""--"=ZXZ----"-----------------------------------------------------------------------
+           C+++..+C   ....C.......................................................................
+            CCC''C    ''''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+               XX     XXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+               CC     CCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXZ""+""--+MZ"---------------------------------------------------------------------------
+            ++C++..C  +...........................................................................
+            CC CC''   C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                 XX    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                 CC    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXZ==+++"--+++---------------------------------------------------------------------------
+            CCCCC+..CCC...........................................................................
+                 C''   '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                  XX   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                  CC   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXZXXXXXX+"++=--=""----------------------------------------------------------------------------
+            C+CCCCCC++............................................................................
+             C      CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXX-"""+++=MM=---------------------------------------------------------------------------
+            C+++CCCC  C...........................................................................
+             CCC       '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                       CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXXM"++MM===M-"--------------------------------------------------------------------------
+             +CC  CCC C+..........................................................................
+             C         C''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXX-"=+"+=----=--------------------------------------------------------------------------
+            C+CC+CCCCCCC..........................................................................
+             C  C       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXXZ-"MM+""+=----------""----------------------------------------------------------------
+             .+  C++CCCC........++................................................................
+             'C   CC    ''''''''CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+             X          XXXXXXXX  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+             C          CCCCCCCC  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXXZ---+===++""--------------------------------------------------------------------------
+             ...CCCCCC++..........................................................................
+             '''      CC''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+             XXX        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+             CCC        CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*XXXXXXXXXXXXZ----""===MM--------------------------------------------------------------------------
+             ....++CCC  ..........................................................................
+             ''''CC     ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
+             XXXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+             CCCC       CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-XXXXXXXXXXXZ+---""+""++---------------------------------"""---------------------------------"-"""
+C            C...++C++CC.................................CCC.................................+.+++
+              '''CC CC  '''''''''''''''''''''''''''''''''BBB'''''''''''''''''''''''''''''''''C'CCC
+              XXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+              CCC       CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
*"+XAXAXXXXXXXZ+----"+=+"-------------------------------"-------------------------------"-----"""""
++C            C....+CCC+...............................C...............................+.....+++++
+C              ''''C   C'''''''''''''''''''''''''''''''B'''''''''''''''''''''''''''''''C'''''CCCCC
+               XXXX     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXX
+               CCCC     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CCCCC
*--"-XXXAXXXXXZZ+------"+---"-----------------------------------------------------------------"""""
+..+C           C......+C...C.................................................................+++++
+''C             ''''''C '''B'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC
+XX              XXXXXX  XXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+CC              CCCCCC  CCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*+++"+MZXAXXXXZZ-+----------------------------------------------------------------------------"""""
+CCC+C          CC............................................................................+++++
+   C             ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC
+                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"++++++MXAAAXZZZ-"---------------------------------------------------------------------------"""""
++CCCCCC         C+...........................................................................+++++
+C                C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC
+                  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--"+==+++-AXXXZZZ-+------------------------------------------------------------------""-"-"""-""""
+..+CCCCCCC       CC..................................................................++.+.+++.++++
+''C                ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC'C'CCC'CCCC
+XX                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X X   X
+CC                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C C   C
*+"-"++++++=XAAXZZZM"-------------------------------------------------------------"""""-""-""""""""
+C+.+CCCCCCC        +.............................................................+++++.++.++++++++
+ C'C               C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCC'CC'CCCCCCCC
+  X                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX     X  X
+  C                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC     C  C
*M=++""+=+"+=ZAXZZZZ=------------"----------------------------------------------"-"""""-"--""""""""
+ CCC++CCC+CC       C............+..............................................+.+++++.+..++++++++
+    CC   C          ''''''''''''C''''''''''''''''''''''''''''''''''''''''''''''C'CCCCC'C''CCCCCCCC
+                    XXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X     X XX
+                    CCCCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C     C CC
*ZMM=+""++++"+-XXZZZ-"---"---------------------------------------------------------""-"----""""""""
+   CC++CCCC+CC     C+...+.........................................................++.+....++++++++
+     CC    C        C'''C'''''''''''''''''''''''''''''''''''''''''''''''''''''''''CC'C''''CCCCCCCC
+                     XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X XXXX
+                     CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CCCC
*Z--MM+"-"++"""=ZXZZZ---------------------------------------------------------"--"""-"-----""""""""
+ CC  C+.+CC+++C     C........................................................+..+++.+.....++++++++
+      C'C  CCC       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''C''CCC'C'''''CCCCCCCC
+       X             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX   X XXXXX
+       C             CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC   C CCCCC
*XZ---M=+"""""""+-XZZZ=----------------------------------------------------------""""""---"""""""""
+  CCC CC+++++++CC    C..........................................................++++++...+++++++++
+        CCCCCCC       ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCC'''CCCCCCCCC
+                      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XXX
+                      CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CCC
*ZZZ---MM+"-"""""+MZZZ-="-------------------------------------------------------"""""""-----"""""""
+   CCC  C+.+++++C    CC+.......................................................+++++++.....+++++++
+         C'CCCCC       C'''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCC'''''CCCCCCC
+          X             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       XXXXX
+          C             CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       CCCCC
*ZZ-----MM+""""""""MZZZ-+"------------------------------------------------------"""""""-"---"""""""
+  CCCCC  C++++++++    CC+......................................................+++++++.+...+++++++
+          CCCCCCCC      C''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCC'C'''CCCCCCC
+                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX       X XXX
+                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC       C CCC
*ZZZ-ZZ--M=+++-""+""MZZ-="------------------------------------------------------""""-------""""""""
+   C  CC CCCC.++C++   CC+......................................................++++.......++++++++
+             'CC CC     C''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCC'''''''CCCCCCCC
+             X           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    XXXXXXX
+             C           CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC    CCCCCCC
*ZZZZZZZ-MM====""++""+M-Z+"-----------------------------------------------------"-""""---""""""""""
+       C  CCCC++CC++C C C+.....................................................+.++++...++++++++++
+              CC  CC     C'''''''''''''''''''''''''''''''''''''''''''''''''''''C'CCCC'''CCCCCCCCCC
+                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X    XXX
+                          CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C    CCC
*ZZXZZZZ---MM=M+""++"""=-++"---------------------------------------------------""""""-----"""""""""
+       CCC  C C++CC+++CCCC+...................................................++++++.....+++++++++
+               CC  CCC    C'''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCC'''''CCCCCCCCC
+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX      XXXXX
+                           CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC      CCCCC
*ZZZZZZZ---M-=MM=""=++"-++""-----------------------------------------------------""-"--""""""""""""
+       CCC CC  C++CCC+.CC++.....................................................++.+..++++++++++++
+                CC   C'  CC'''''''''''''''''''''''''''''''''''''''''''''''''''''CC'C''CCCCCCCCCCCC
+                      X    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  X XX
+                      C    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC  C CC
*XZXZZZZZ-Z--M-Z-=++==+"-"""-------------------------------------------------"--""-""""""""""""""""
+        C CC C CCCCCCC+.+++.................................................+..++.++++++++++++++++
+                      C'CCC'''''''''''''''''''''''''''''''''''''''''''''''''C''CC'CCCCCCCCCCCCCCCC
+                       X   XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XX  X
+                       C   CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC CC  C
*XZZZZZZZ--Z-----M=+===++"--------------------------------------------------------"""""""""""""""""
+        CC CCCCC CCCCCCC+........................................................+++++++++++++++++
+                        C''''''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCC
+                         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                         CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*ZZZZZXZZ-Z----ZZ-M=+====+"-----------------------------------------------------"""""""""""""""""""
+        C CCCC  C CCCCCCC+.....................................................+++++++++++++++++++
+                         C'''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCC
+                          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                          CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*ZZZZXZZZ-----ZZZZ-M==MMMM="----------------------------------------------------"""""""""""""""""""
+        CCCCC    C CC    C+....................................................+++++++++++++++++++
+                          C''''''''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCCC
+                           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                           CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*ZZZZZXXXZZ---ZZZZZ-MMM--MM+"----"--"-------------""-""--------"""-------------""""""""""""""""""""
+          CCC     C   CC  C+....+..+.............++.++........+++.............++++++++++++++++++++
+                           C''''C''C'''''''''''''CC'CC''''''''CCC'''''''''''''CCCCCCCCCCCCCCCCCCCC
+                            XXXX XX XXXXXXXXXXXXX  X  XXXXXXXX   XXXXXXXXXXXXX
+                            CCCC CC CCCCCCCCCCCCC  C  CCCCCCCC   CCCCCCCCCCCCC
*ZZXZZZZZZZZZZZXZXZZ--MM---=+---""-"---------------------------------------------""""""""""""""""""
+                   CC  CCCCC...++.+.............................................++++++++++++++++++
+                            '''CC'C'''''''''''''''''''''''''''''''''''''''''''''CCCCCCCCCCCCCCCCCC
+                            XXX  X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                            CCC  C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*ZZXZXXXXXXZZZXXXXXZZ-MM--Z-="---"-----------------------------------------------""""""""-"""""""""
+                    C  CC CC+...+...............................................++++++++.+++++++++
+                            C'''C'''''''''''''''''''''''''''''''''''''''''''''''CCCCCCCC'CCCCCCCCC
+                             XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        X
+                             CCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        C
*ZXXXXXXXXZZZZXXXXXZZ-MMM---M=---------"-----------------------------------------""""""""-"""""""""
+                    C   CCC C.........+.........................................++++++++.+++++++++
+                             '''''''''C'''''''''''''''''''''''''''''''''''''''''CCCCCCCC'CCCCCCCCC
+                             XXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX        X
+                             CCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC        C
*ZZZXXXXXXZZZZZXXXZZZ--M-M---="-"-------"----"-----""""-"--"--"-----"-----------"""""""""""""""""""
+                    CC C CCCC+.+.......+....+.....++++.+..+..+.....+...........+++++++++++++++++++
+                             C'C'''''''C''''C'''''CCCC'C''C''C'''''C'''''''''''CCCCCCCCCCCCCCCCCCC
+                              X XXXXXXX XXXX XXXXX    X XX XX XXXXX XXXXXXXXXXX
+                              C CCCCCCC CCCC CCCCC    C CC CC CCCCC CCCCCCCCCCC
*ZZ--XXXXZZ---ZZZZZZZ--MM----M+---------------------------------------------------"-"""""""""""""""
+  CC      CCC       CC  CCCC C...................................................+.+++++++++++++++
+                              '''''''''''''''''''''''''''''''''''''''''''''''''''C'CCCCCCCCCCCCCCC
+                              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                              CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
*M==MMM-X--=+=M-MM-ZZZ-MM-----+---------------------------------------------------"-"""""""""""""""
+ CC   C CCCCC C  C   C  CCCCCC...................................................+.+++++++++++++++
+                              '''''''''''''''''''''''''''''''''''''''''''''''''''C'CCCCCCCCCCCCCCC
+                              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                              CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C
*"+===M--="+M-M-MMM-ZZZ-M-----M"---+--------""--------"---------------------------"-"""""""""""""""
++CCCC CCC+C C C   C   C CCCCC +...C........++........+...........................+.+++++++++++++++
+C        C                    C''' ''''''''CC''''''''C'''''''''''''''''''''''''''C'CCCCCCCCCCCCCCC
+                               XXX XXXXXXXX  XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                               CCC CCCCCCCC  CCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCC C
*""""--==-+M=+"ZM="+M-Z------ZM+"-----------"------"--"----------------------------"""""""""""""+""
+++++CCCC.C CC+  C+C C CCCCCC  C+...........+......+..+............................+++++++++++++C++
+CCCC    '    C   C             C'''''''''''C''''''C''C''''''''''''''''''''''''''''CCCCCCCCCCCCC CC
+        X                       XXXXXXXXXXX XXXXXX XX XXXXXXXXXXXXXXXXXXXXXXXXXXXX
+        C                       CCCCCCCCCCC CCCCCC CC CCCCCCCCCCCCCCCCCCCCCCCCCCCC
*"==+M-"M"++"++ZZ-MM--Z---Z---M="--------"-+"-----"""""""----------------------------"-""""""""""""
++CCC C+ +CC+CC  C  CC CCC CCC C+........+.C+.....+++++++............................+.++++++++++++
+C     C C  C                   C''''''''C' C'''''CCCCCCC''''''''''''''''''''''''''''C'CCCCCCCCCCCC
+                                XXXXXXXX X  XXXXX       XXXXXXXXXXXXXXXXXXXXXXXXXXXX X
+                                CCCCCCCC C  CCCCC       CCCCCCCCCCCCCCCCCCCCCCCCCCCC C
*++-=-M"==M===M---ZZ-ZZZ-------+"-------""--"""""""""""""""-----------------------------"""""""""""
+CCCCC +CC CCC CCC  C   CCCCCCCC+.......++..+++++++++++++++.............................+++++++++++
+      C                        C'''''''CC''CCCCCCCCCCCCCCC'''''''''''''''''''''''''''''CCCCCCCCCCC
+                                XXXXXXX  XX               XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                CCCCCCC  CC               CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*MM=MZM"+-Z-M+-ZM-ZZZZZZ----Z--+"----"-"""-----""+""""+"""""-----------------------------""""""""""
+  C   +CC C CC  C      CCCC CCC+....+.+++.....++C++++C+++++.............................++++++++++
+      C                        C''''C'CCC'''''CC CCCC CCCCC'''''''''''''''''''''''''''''CCCCCCCCCC
+                                XXXX X   XXXXX             XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                CCCC C   CCCCC             CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*MZZZZ="+ZZ=M==Z--ZZZZZZZ--Z-Z-M"-"--"""+""""----"+=+++=+++"--------------------""----"""""""""""""
+     C+C  C CC CC       CC C C +.+..+++C++++....+CCCCCCCCC+....................++....+++++++++++++
+      C                        C'C''CCC CCCC''''C         C''''''''''''''''''''CC''''CCCCCCCCCCCCC
+                                X XX        XXXX           XXXXXXXXXXXXXXXXXXXX  XXXX
+                                C CC        CCCC           CCCCCCCCCCCCCCCCCCCC  CCCC
*M=+ZZ==+Z-M=-ZZZZXZZZZZ----ZZ-M""--""""""+++++=+""==++-M==+---------------"-""""--------""""""""""
+ CC  CCC C CC          CCCC  C ++..++++++CCCCCCC++CCCCC CCC...............+.++++........++++++++++
+                               CC''CCCCCC       CC         '''''''''''''''C'CCCC''''''''CCCCCCCCCC
+                                 XX                        XXXXXXXXXXXXXXX X    XXXXXXXX
+                                 CC                        CCCCCCCCCCCCCCC C    CCCCCCCC
*++=--MM=-Z-MZZZ-ZZZZ-Z------ZZ-+"-"""---"--""+===+"M+=--M=+"-----------"---""--""------"""""""""""
+CCCCC  CC C    C    C CCCCCC  CC+.+++...+..++CCCCC+ CCCC CC+...........+...++..++......+++++++++++
+                                C'CCC'''C''CC     C        C'''''''''''C'''CC''CC''''''CCCCCCCCCCC
+                                 X   XXX XX                 XXXXXXXXXXX XXX  XX  XXXXXX
+                                 C   CCC CC                 CCCCCCCCCCC CCC  CC  CCCCCC
*++=MM-=-ZZMMZZZZZZZZZZ-----Z-Z-="----------"-""+=M+++=-Z-==+---"""""---"""-"---""----"""""""""""""
+CCC  CCC              CCCCC C CC+..........+.++CC CCCCC CCCC...+++++...+++.+...++....+++++++++++++
+                                C''''''''''C'CC             '''CCCCC'''CCC'C'''CC''''CCCCCCCCCCCCC
+                                 XXXXXXXXXX X               XXX     XXX   X XXX  XXXX
+                                 CCCCCCCCCC C               CCC     CCC   C CCC  CCCC
*=+M-ZMMZZ--ZXZ--ZZXZZZ-----ZZ-ZM""--------++"""++MM+==-Z-M=+"""""""""""""""""-"""---""-"""""""""""
+CC C     CC   CC      CCCCC  C  ++........CC+++CC  CCCC C CC+++++++++++++++++.+++...++.+++++++++++
+                                CC''''''''  CCC             CCCCCCCCCCCCCCCCC'CCC'''CC'CCCCCCCCCCC
+                                  XXXXXXXX                                   X   XXX  X
+                                  CCCCCCCC                                   C   CCC  C
*--ZZ-Z-Z--ZZXZ--ZZZZZZZZ---ZZZ--+---""""""M+"+++"=-+MM--M+=++""""""+++"""""""------"""""""""""""""
+CC  C C CC    CC        CCC   CCC...++++++ C+CCC+CCC  CC CCCC++++++CCC+++++++......+++++++++++++++
+                                 '''CCCCCC  C   C            CCCCCC   CCCCCCC''''''CCCCCCCCCCCCCCC
+                                 XXX                                         XXXXXX
+                                 CCC                                         CCCCCC
*Z--ZZX---XXZZM-ZZXXZZZZZZ--ZZZZ-="--++=+++M=++++=M-MMZ-M=+M++"+""""++++"""""""--""""""""""""""""""
+ CC   CCC     C          CC    CC+..CCCCCC CCCCCC C   C CC CC+C++++CCCC+++++++..++++++++++++++++++
+                                 C''                         C CCCC    CCCCCCC''CCCCCCCCCCCCCCCCCC
+                                  XX                                          XX
+                                  CC                                          CC
*-MZM-ZZZXAZ--ZZXXXXZZZZZ----ZZZZM+"+=++"=M=+===+=----ZM+"=M+++""""""""""""""""""""""""""""""""""""
+C   C      CC           CCCC     C+CCCC+C CCCCCCCCCCC  C+C CCC++++++++++++++++++++++++++++++++++++
+                                  C    C                C     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--ZZXXZXXXXXZZZXXXXXXXXZZ--ZZZZZM++==""+=-MM+=M+MZ---ZM+"MM+=+++"+""""-"""""""+"+"""""""""""""""""
+CC                       CC      CCCC++CCC  CC C  CCC  C+  CCCCC+C++++.+++++++C+C+++++++++++++++++
+                                     CC                 C       C CCCC'CCCCCCC C CCCCCCCCCCCCCCCCC
+                                                                      X
+                                                                      C
*XZXXXXXZXXXZXXXXXXXXXZZZZ---ZZZZ-++M"""++MM=+M==--ZZZ-+"+-++===+"""----""""""""+""""""""""""""""""
+                         CCC    CCC +++CC  CC CCCC   CC+CCCCCCCC+++....++++++++C++++++++++++++++++
+                                    CCC                C        CCC''''CCCCCCCC CCCCCCCCCCCCCCCCCC
+                                                                   XXXX
+                                                                   CCCC
*ZZZXAXXXXXXZXXXXXXXXXXXZZZ-ZZZZZ-=++""""+=+==MMM--ZXZ="+-M+M=M=+"""---""""""+"""""""""""""""""""""
+                          C     CCCC++++CCCCC   CC   C+CC C C CC+++...++++++C+++++++++++++++++++++
+                                    CCCC              C         CCC'''CCCCCC CCCCCCCCCCCCCCCCCCCCC
+                                                                   XXX
+                                                                   CCC
*ZZZ-XXXXXZXXXXXXXXXXXZXZZ--ZZZZZZ=""--"=M=M-Z-M-M-Z-M""M-=MZ-M++"""----""++"+"""""""""""""""""""""
+   C                     CC      C++..+C C C C C C C ++ CC  C CC+++....++CC+C+++++++++++++++++++++
+                                  CC''C              CC         CCC''''CC  C CCCCCCCCCCCCCCCCCCCCC
+                                    XX                             XXXX
+                                    CC                             CCCC
*"+===ZXXXXXXXXIXXXXZZZXZZ-ZZZ-ZXZM+M+""+=-MMZ--Z-ZM=++=ZMMZZ-==="""""""""=+"+"""""""+""""""+"""++"
++CCCC                    C   C    C C++CCC   CC C  CCCC     CCCC+++++++++CC+C+++++++C++++++C+++CC+
+C                                    CC                         CCCCCCCCC  C CCCCCCC CCCCCC CCC  C
*+=M--MZXXZXXXXXXXXZZZZZZZ-ZZZZZZZM"+--M=+-=--M--MM=++=ZZ--ZZM+=+------"+++"++""""""+++""""+++""+++
+CC CC                    C        +CCC CCCCCC CC  CCCC  CC   CCC......+CCC+CC++++++CCC++++CCC++CCC
+                                  C                             ''''''C   C  CCCCCC   CCCC   CC
+                                                                XXXXXX
+                                                                CCCCCC
*M=M--=ZXXXXXXXXXXZZXZZZZZZZZZZZZZ-+"MZZ-M==MM--=++=+=ZZZ-ZXZM=+""--""++=++++="""""+==+"++"""+"""""
+ C CCC                           CC+   C CC  CCCCCCCC   C    CC++..++CCCCCCCC+++++CCCC+CC+++C+++++
+                                   C                           CC''CC        CCCCC    C  CCC CCCCC
+                                                                 XX
+                                                                 CC
*ZM=--M-XXZXXXXXXXXZZZZZZZZZZZZ--ZM+"+XZ--M==--M=+""MMM-Z-XZZMM+"-"-"+===MM+="""+"+MM==++++""""""""
+  CCC C                       CC  C+C  CC CCCC CC++   C C     C+.+.+CCCC  CC+++C+C  CCCCCC++++++++
+                                   C             CC            C'C'C        CCC C         CCCCCCCC
+                                                                X X
+                                                                C C
*ZM+--M-XXXZXXZXZZZZZZZZZ-ZZXZZZZZM"""-ZZZ-=-M--+"+ZZ--M-ZXZ-M=""+"-"+M=-M==+"-"++M--M=++==+++"+"""
+  CCC C                 C         +++C   CCC CCC+C  CC C   C C++C+.+C CC CCC+.+CC CC CCCCCCCC+C+++
+                                  CCC           C             CC C'C        C'C              C CCC
+                                                                  X          X
+                                                                  C          C
*Z-+---ZZXXXXXZZXZZZZZZZZZZZZZZZZZM+""=ZZZZ--Z-==ZXX---MZXX-M=+++"-"+=-ZM===""""+=--M=++=="""""""""
+ CCCCC                            C++C    CC CCC   CCC    C CCCC+.+CCC  CCC++++CCCC CCCCC+++++++++
+                                   CC                           C'C        CCCC          CCCCCCCCC
+                                                                 X
+                                                                 C
*ZZ=MMZZXXXXXZZZZZZZZZZZZZZZZXZZZZ-+""+ZXXZ---M-ZXX----ZZZZ=-=+=+"""+MXM=M++"-"+=-MM++===+"""""""""
+  C                              CC++C    CCC C   CCCC    CCCCCC+++C   C CC+.+CCC  CCCCCC+++++++++
+                                   CC                           CCC        C'C           CCCCCCCCC
+                                                                            X
+                                                                            C
*Z-=MMZZXAXXXXZZZZZZZZZZZZZZZZZZZZ-="""MXXZ--ZZXXZ----ZZZ--M-M+"--"+=ZZMM="+"""+=MMM++==+""""""""""
+ CC                              CC+++    CC     CCCC   CC C C+..+CC    C+C+++CC   CCCCC++++++++++
+                                   CCC                        C''C       C CCC          CCCCCCCCCC
+                                                               XX
+                                                               CC
*ZMMM-ZXXXXXXZXZZZZZZZZZZZZZZZZZZZ-="-"=XXZ-ZZXX-=MMM-ZZ-----=""-""+-Z=MM+"=+"+=MM-++==="""""""""""
+    C                            CC+.+C   C    CC   C  CCCCCC++.++CC C  C+CC+CC  CCCCCC+++++++++++
+                                   C'C                       CC'CC       C  C          CCCCCCCCCCC
+                                    X                          X
+                                    C                          C
*ZM=MZZXXXXXXZZZZZZZZZZZZZZZZZZZZZZM+""+ZAX--ZZ--M=M-ZZ-M-ZZ-+""""+=-MM-+"+"++==M-M++=++""""""""""+
+  C                                C++C   CC  CC C C  C C  CC++++CCC  CC+C+CCCC C CCCCC++++++++++C
+                                    CC                       CCCC       C C            CCCCCCCCCC
*-M=-ZXXZXXZZZZZZZZZZZZZZXXZZZZZZZZM=+""-AXZZZZ-M=-ZZZMM-ZZZM+"++"+M-MM=+=+"+=+M-M+===++""""""""+==
+C CC                               CC++C      C CC     C    C+CC+C C  CCCC+CCC C CCCCCC++++++++CCC
+                                     CC                      C  C         C            CCCCCCCC
*-=M-ZZZZZZZZZZZZZZZZZZZXXXZZZZZZZZ-M+""=AAZZZZ--ZZZZMM=----="+++"=M-MM==++=M==-M++=M+++""""""++M-M
+CC C                              C C++C      CC      CCCCCC+CCC+C C  CCCCC CCC CCC CCC++++++CC C
+                                     CC                     C   C                      CCCCCC
*MM=-ZZZZZZZZZZZZZZZZZZZXAXXZZZZXXZZM+""+XXZ--ZZXZZZM=MM-==M="++++==-MM==++M==M-==+M+++""""""+=MMM+
+  CC                                C++C   CC       C  CCC C+CCCCCCC  CCCC CC CCCC CCC++++++CC   C
+                                     CC                     C                         CCCCCC
*==M-ZZZZZZZZZZZZZXZZZZZXZXXXXZZXZZ-M++""ZXXZZXXZ-MMM---=+M+"++++++=MMM=+++M=MM=M===++""""""+M-M=++
+CC C                              C CC++        C   CCCCC C+CCCCCCC   CCCC C  C CCCCC++++++C C CCC
+                                      CC                   C                         CCCCCC
*=MM---ZZZZZZZZXXXXZZXZXXXXXZXXXZZZ--=+""MXZXZXZ-==+=--=+MM++++=====M-M==+==M==-M=M=+"""-""+--M++++
+C  CCC                            CCCC++       CCCCCCCCC  CCCCCCCCC C CCCCC CCC C CC+++.++CCC CCCC
+                                      CC                                            CCC'CC
+                                                                                       X
+                                                                                       C
*MM--M-ZZZZXZZZXZXXXZZXXXXXXZXXXZZZ--M+""=ZZZ----++++=++=M=++==MM=MMM-MM=+===+=Z=+M=""""""+ZZ=+"++"
+  CC C                            CC C++C   CCCCCCCCCCCC CCCCC  C   C  CCCCCCC CC C++++++C  CC+CC+
+                                      CC                                           CCCCCC     C  C
*M---M-ZZZZXXZXXXXXXZXZXZZXZXXXZXZZZ-M=+"+ZAX==-M+++"====+===MMZ++M=MMM=+====+-M++M+"""""+ZZ=+"""++
+ CCC C                             C CC+C   CCC CCC+CCCCCCCC   CC C   CCCCCCCC CC C+++++C  CC+++CC
+                                       C           C                               CCCCC     CCC
*------ZZZZXXXXXXZXZXZZZXXXZZXXZXZZZ--=+""-AAZM====+++==+MM-M==-+=MMM-M+====+=-++=+"""""+MZM+"+++++
+CCCCCC                             CCCC++C    CCCCCCCCCC  C CCCCC   C CCCCCCCCCCCC+++++C   C+CCCCC
+                                       CC                                         CCCCC     C
*------ZXXXXXXXXXZXXXZZXZXZZXZXZXZ-ZZZM=""=AAX==MM+++=+==M-M+M=M++M-MM=+===+=-M+=="-""""=Z-++++++++
+CCCCCC                           C    C++C   CC  CCCCCCC C C C CC C  CCCCCCCC CCC+.++++C CCCCCCCCC
+                                       CC                                        C'CCCC
+                                                                                  X
+                                                                                  C
*-----ZXXXXXXXXXXZXXZZZZZZZZXZZZZZZZZZ-=+""XAX-=-M+++=++==-+===M++MM-MM====+=-+M=+"""""+-Z=+++"++++
+CCCCC                                CCC++   CCC CCCCCCCCCCCCC CC  C  CCCCCCCC CC+++++CC CCCC+CCCC
+                                        CC                                       CCCCC       C
*--Z-ZZXXAXXXXXXXZXZZXXZ-ZXZZZXZZ-XXZZZM=+"ZXZZ===+=++===+M=+==M+=MM=M-M==++MM+=+""+"""MX-+"+=++++"
+CC C                   C        C      CC+    CCCCCCCCCCC CCCC CC  C C CCCC  CCC++C+++  CC+CCCCCC+
+                                         C                                      CC CCC    C      C
*Z---ZZXXXXXXXXXXZZZZZZZ-ZZZXZXXZZXZXZ-M=+"MXM-="++==++===M=+=++++MM==MM=M+=M=+++"++++=ZZ+""+M++"""
+ CCC                   C             C CC+   CC+CCCCCCCCC CCCCCCC  CC  C CC CCCC+CCCCC  C++C CC+++
+                                         C     C                                C        CC    CCC
*---ZZXXXXXXZXZZZZZZZZZZZZZ-XXXXXZXXXZZ-M=++-MM=+"""==+===M==+====M==MMMMM====+"+""===ZXM+""=M==+++
+CCC                       C           C CCCC  CC+++CCCCCC CCCCCCC CC     CCCCC+C++CCC   C++C CCCCC
+                                                CCC                           C CC       CC
*---ZZXXXXXZZZZZZZXXZZZZZZZ-ZXXXXXXXXXZ-MM+"++=M+---"+===M==++=+==++MMMMMM=+==+"""M-MMZX=+"+=M++===
+CCC                       C           C  C+CCC C...+CCCC CCCCCCCCCC      CCCCC+++ C    CC+CC CCCCC
+                                          C     '''C                          CCC        C
+                                                XXX
+                                                CCC
*-Z--XXXXXXXXXZZXXZZZXZZZZZ-ZXXXXXXXXXXZ-MM++++MM++"""++=MM+"=++==++MMM=M=M++=+++=-==MZZ=+"+MM=+==+
+C CC                      C            C  CCCC  CC+++CCC  C+CCCCCCC   C C CCCCCCCCCC   CC+C  CCCCC
+                                                  CCC      C                             C
*---ZZXXZZZXXXXXXXXZZZZZZZZ--ZZZZZXXXXXZZMM+=M==-=++"""+++M+"=+"+"++=MMMM==+++=+M-=+=-XM++++-ZM=M++
+CCC                       CC              CC CCCCCC+++CCC C+CC+C+CCC    CCCCCCC CCCCC  CCCCC  C CC
+                                                   CCC     C  C C
*M-ZXXXXZXXXXXZZ-Z--Z---Z-ZZZ-----ZZZZZZZMMM=---Z-++"""=++M=++=++++=MMMMM==++===-M=+=ZZ=++=MXZMMM++
+ C             C CC CCC C   CCCCC          CCCC CCC+++CCC CCCCCCCCC     CCCCCCCC CCC  CCCC      CC
+                                                   CCC
*-XXXXZXXXAXXZ-ZM--MM+MMM-M--MM-ZZXXZZZZZ-MMMZZZZZM=+"++"+M=++===+=+M=MM=M++=MM--+++=-Z++=MZX--=+++
+C            C  CC  C   C CC  C         C         CC+CC+C CCCCCCCCC C  C CCC  CCCCCCC CCC   CCCCCC
+                                                    C  C
*ZAXAXXXAAXXZXXXZZZ-Z-MMMMM-ZMZZZZXXXXZZZZZM-ZXXZA-M++=M+=M==M=M===+++===M++M---="+=+ZM+=-ZAZ-=++++
+                  C C     C                C     C CCC CC CC C CCCCCCCCC CC CCCC+CCC  CCC   CCCCCC
+                                                                                C
*XXXAXXXXXXAXXXXZXXXXXZZ-M+---Z---ZZZZZZZZ-MMZXXXAZ-+MMM+=MM=++=++++==MM=M++MMM=="+"+-M=-XXXZM+++++
+                       C CCCC CCC        C        CC   CC  CCCCCCCCCC  C CC   CC+C+CC CC     CCCCC
+                                                                                C C
*XXXXXXXZXXXXZ-==M-XAXXZ-M+=-----MZXZ-ZZZZ---ZZXXXXZMM=M=--M==+=====++=MM=++==M=+""+=-ZZXXXZM+++=++
+             CCC C     C CCCCCCC    C    CCC         C CCC CCCCCCCCCCC  CCCCC CC++CCC       CCCCCC
+                                                                                CC
*XXXZZZZXXAXM=+---"MAAXZ=""=---ZZMZZZ-MZXZZ-MZZXXXXZ-=M--ZM====M===+++==M======++"+=-ZXXAZ-M=+++===
+            CC...+     C++CCCC      C     C        CC CC  CCCC CCCCCCCC CCCCCCCC+CCC     C CCCCCCC
+              '''C      CC                                                      C
+              XXX
+              CCC
*ZAAXZZXAAAZ+------"MAAM"-"=MZ-XZM-ZZZ--ZXZZ--ZXXAAX------M=MMMM=M==M===+=M===+"+=--ZXXX--MM++=====
+           C......+    +.+C  C   C   CC    CC      CCCCCC C    C CC CCCCC CCCC+CCCC    CC  CCCCCCC
+            ''''''C    C'C                                                    C
+            XXXXXX      X
+            CCCCCC      C
*-ZZXZZZZXXM+--+----+ZZ+-"==M-ZXMM----Z-ZZZZ--ZXAXXXZ----M=M=M-MM-M=MMM====+==+=---ZZZZ---M++=M=++=
+C          C..C....C  C.+CC C    CCCC C    CC       CCCC C C C  C C   CCCCCCCCCCCC    CCC CCC CCCC
+            '' ''''    'C
+            XX XXXX    X
+            CC CCCC    C
*=M--M-Z--M+"--="---"+""=MM=-ZXXM--MMM--ZZZZ-ZZXXZXXZZZ-MMM-MMMMM-M+MMMMMM==M=MZZ-ZZZZZ-MM=++M==++M
+C CC C CC C+..C+...+C++C  CC    CC   CC    C          C   C     C C      CC C   C     C  CCC CCCC
+           C'' C'''C CC
+            XX  XXX
+            CC  CCC
*+=--M=MZZM""--"-----"=---M-ZAXZ--==-M--ZZZ--ZZXXZXXZZ-M---MMM===M==M--MM-===MXZM-Z-MZZM++++===++M-
+CCCC C    ++..+.....+CCCC C    CCCCC CC   CC         C CCC   CCC CC CC  CCCC    C C    CCCCCCCCC C
+          CC''C'''''C
+            XX XXXXX
+            CC CCCCC
*MM-ZZ-==ZZZ-=+"""+=-----MMZXXZ--M+M-M--ZZ-ZZZZZXZXXZZ--ZMM=MMMMMM-----M-MMMMXX=MZZ--ZZM++M====+MZM
+  C  CCC   CCC+++CCCCCCC      CC C C CC  C           CC   C      CCCCC C      C   CC   CC CCCCC
+              CCC
*MM-----==-ZZZXZZZXZZZ--MMZXXXX---+=M=M-Z-Z-ZZZZXZXXZZZ-M=M-M+=M=MM=MM--MM-M-X-MZZ-Z-ZZM=MMM=M+=-ZM
+  CCCCCCCC           CC       CCCCC C C C C           C C C CC C  C  CC  C C C   C C   C   C CCC
*-----M--M=---ZZZZZZZ--MM-XXZZ--M-==M=M------ZZZXXXXZZ-MMM-MMM+=M-MMM--MMM-M-Z--ZZZ-ZXZM=M-MMM=M--+
+CCCCC CC CCCC       CC  C    CC CCC C CCCCCC         C   C   CC C   CC   C C CC   C    C C   C CCC
*ZZ----M-MM===+=M===+++MZZXZZ-MM=M==M==-ZZ---ZZZXZZZ-MM----MM=+M--M==-M=MM-M--M----MZXZMMMMMM=MZMM=
+  CCCC C  CCCCC CCCCCC      C  C CC CCC  CCC       C  CCCC  CC CC CCC C  C CC CCCC          C    C
*ZZZZ---MMMMMMM==+=M=M--ZXZZZ="+-M=M-==MZZ---ZZZXZZ--MZZ-MM=+=--MM+=MM==M------MM-M-ZZZMMMM=MMZM--M
+    CCC       CCCC C CC     C+CC C CCC   CCC      CC   C  CCCCC  CC  CC CCCCCC  C C       C    CC
+                             C
*ZXZXZZ-MMMMMM-MMM-----MZZ--ZM+MZ-MM-==-ZZZ--ZZZXZZ-MZZ--MM----MMMM-MMMMM--MMMMM--=ZZZ-=MM++M-ZM=MM
+      C      C   CCCCC   CC  C  C  CCCC   CC      C   CC  CCCC    C     CC     CCC   CC  CC C  C
*XZXXZZ--M=MM+++++===M=+M-M-Z-MMM----==M-ZZ--ZZZZZZZZZZ--ZZ-----M-Z-------MMMMMM-==ZZZM+=++=-Z-+=M=
+      CC C  CCCCCCCC CC C C C   CCCCCC C  CC          CC  CCCCC C CCCCCCC      CCC    CCCCCC CCC C
*XZZZXZZ-===="""""--"""++==--MMM=----==M-ZZZ--ZZZZ-ZZZZZZZZZZ-ZZZZZZZZ-MMMMMMMMMM=M-ZZ=++==MZZ==MM=
+       CCCCC+++++..+++CCCCCC   CCCCCCC C   CC    C          C        C          C C  CCCCC   CC  C
+            CCCCC''CCC
+                 XX
+                 CC
*XXXXXZZ-==+++---"---"""=M=M+==MZZ-ZZMM-MZZ-Z--ZZZZZXXZZZZZZZ-ZXXXXZZZ-M-MMMMMM-==M-ZM====MMZ-=MM+=
+       CCCCCC...+...+++C C CCC   C    C   C CC              C        C C      CCC C  CCCC   CC  CC
+             '''C'''CCC
+             XXX XXX
+             CCC CCC
*XXXZXXZ-MM==++"""--""==+"""==MZZZZZ-M=-------ZZZZZXXZZZ-ZZZZZZZXXZZZ------MMMMM==---MM=+=MM--MMMMM
+       C  CCCC+++..++CCC+++CC      C CCCCCCCC          C            CCCCCC     CCCCC  CCC  CC
+              CCC''CC   CCC
+                 XX
+                 CC
*XXXXXXXZ--+==="==++"MM==+++=M-ZZZXZMM=M--Z--ZZXZZZXXZZZZZXZZZZZXZZZZZZZ----MMMMMM--M==+=MM-ZZ---Z-
+        CCCCCC+CCCC+  CCCCCC C       C CC CC                           CCCC      CC CCCC  C  CCC C
+              C    C
*XAXXXXAXZ-=--MMMMM=-Z--Z-M--ZZZZZZ-MM=M--ZZ-ZZZZXXXZZXZZZXXXXXXZXZZZZZZZ--Z-MMMMM-M++==M-M-ZZ---ZZ
+         CCCC     CC CC C CC      C  C CC  C                            CC C     C CCCC C C  CCC
*XXXAXXAXXZ-ZZZZZZZXXZZZXXXXZZZZZZZZ-MMMM---Z-ZZXXXZXXXXXXXXXXZZZZZZZXX----Z-MM-=M-==M=MM--ZXXXXZ-=
+          C                        C    CCC C                         CCCC C  CC CCC C  CC      CC
*XXXXXXXAXXXXXXZXZXXXXXXXXXXZZZZZZZZ-MMM--ZZZZZZXXXXXZXXXXXXXZ--ZZZXXZZ-MM-Z--M-=M====M---ZXXXZZ-==
+                                   C   CC                    CC       C  C CC CC CCCC CCC      CCC
*XAXAAAAAXXXXXXXAXXXXXXXZXXZZZZZZZZZ--MM--ZZZZZXXXXXXXXXXXZZZ--ZXXXXZZ-M=MZZZZ-MMM==MMM-Z--ZZ-MMM--
+                                   CC  CC                   CC       C C     C   CC   C CC  C   CC
*XAXXXXXAXXAAAXXAAXXXXXXZZXZZZZZZZZZ--MM---ZZZZXXXZZXXXXZZZZZZZXXXXZZ--MM-ZZZZ-MM-MMM---M=MZZ--ZZZ-
+                                   CC  CCC                          CC  C    C  C   CCC C   CC   C
*XAXAAXAAXAXAAXXXXXXXXXXXXZZZZZXZZZ-Z-MM-ZZ-ZZZXXXZXXXXZZZZXXXXXXXXXXXZ-ZZZXZZ-M--M----M+=-ZZZZZZZZ
+                                  C C  C  C                           C      C CC CCCC CCC
*XXXXXXXXXXAAAXXXXXXXXXXZZZXZZZZXZZZZ-M----ZZZXZXXZXXXZZZXXXXXXXXZZZZZZZZZXXZ--M-M--MMMM=-ZZZZ-----
+                                    C CCCC                                  CC C CC    CC    CCCCC
*XXXXXXAAAXXXXXXXXXXXXXXZZZZZZZZZZZZ-Z----ZZXXZXXZZXXXXXXXXXXXZZZZZ--Z--ZZZXZZ-ZZ---MMM--ZZZZ--MMM-
+                                   C CCCC                         CC CC      C  CCC   CC    CC   C
*XXXXXXXXXXXXAXXXXXXXXXXXZZXXZZZZZZ-ZZZM--ZZZXZZXZXXXZXXXXXXXXZZZZZZ--ZZZZXZZZ-Z---MM---ZZZ--MM===+
+                                  C    CC                          CC        C CCC  CCC   CC  CCCC
*XXXAXXXXXXXAXXXXXXZXXXXXXXXXZZZZZZ-ZZ----ZZZZZZZZXXXXXXXXXXZZZZZZZZZZZZZXZZZM-ZZ---ZZZZZ----M=+"""
+                                  C  CCCC                                    C  CCC     CCCC CC+++
+                                                                                               CCC
*XXXXZXXXXXXXXXXXZZZXXXXXXXXXXZZZZZZZZZ--ZZZZZZZZZXXXXXXXXXXZZZZZ---Z--ZZZZZZZZ----ZXZZ--Z--M=+"-""
+                                      CC                        CCC CC        CCCC    CC CC CC+.++
+                                                                                              C'CC
+                                                                                               X
+                                                                                               C
*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXZZZZZZZZZ--ZXZXZZZZZXXXXXXXXXXZZZZZ------ZZZZZZZZZ-ZZZZ-----M==="-"+"
+                                      CC                        CCCCCC         C    CCCCC CCC+.+C+
+                                                                                             C'C C
+                                                                                              X
+                                                                                              C
*XXXXXXXXXXXAXZXXXXXXXXXXXXXXXZZZZXZZZZ-M-ZZXXZZZZZXXAXZZXXXZXZZ-----ZZZZZZZZZZZZZZZ---MM++"+"""++"
+                                      C C                      CCCCC               CCC  CC+C+++CC+
+                                                                                          C CCC  C
*XXXAXXXXXXXXXXXXXXXXXXXXXZXXZZZZZZZZZZ-MZZZZZZZZXXXXXXXXAXXXXZZZZZZZZZZ-ZZXZZZZXZ--MMM=++"""""""""
+                                      C                                C         CC   CCC+++++++++
+                                                                                         CCCCCCCCC
*XZXXXXXXXXXXXXXAXXXXZZXZZZZZZZZZZZZZZZ---ZZZXZZZZXXXXXXXXAXXXXXXZZZZZZ-ZZZZZZXXXZ-MMM=++"""""""""-
+                                      CCC                             C          C   CCC+++++++++.
+                                                                                        CCCCCCCCC'
+                                                                                                 X
+                                                                                                 C
*XXXXXXXXXXXXXXXXXXXXXZXZZZZZZZZZZZZZZ-Z-ZZXXZZZZXXXXXAXAXAXXXXXZZZZZZZ-ZZZZZXXAZM=MMM==""""""""---
+                                     C C                              C          C   CC++++++++...
+                                                                                       CCCCCCCC'''
+                                                                                               XXX
+                                                                                               CCC
*XXXXXXXXXXXXXXXXXXZXZXZXXXZXXZXXZZZ--ZZZZZXXXXZXXXXXXXAXXXXXXXXXXXZZZZZZZZZXXXXM=M-MM=M+""""+"--"+
+                                   CC                                           C C  C C++++C+..+C
+                                                                                        CCCC C''C
+                                                                                              XX
+                                                                                              CC
*ZXXXXXXXXXXXXXXXXXXXXXXXXXXZXXZZZZZ-ZZZZZZXXXZZXXXXXXXXXXXAXXXXXZZZZZZZZXZXXXX-M---M==+""+++"-"+=+
+                                   C                                          C CCC CCC++CCC+.+CCC
+                                                                                       CC   C'C
+                                                                                             X
+                                                                                             C
*XXXXAXXXXXXXXXXXXXXXXXXXXXZZXZXZZZZZZ-ZZZXXXXZZXXXXXXXAXXAXXZXZZZZZZZZZXXXXZZZ---M=M=++++"""""==+"
+                                     C                                        CCC C CCCCC+++++CCC+
+                                                                                         CCCCC   C
*XAXXXAXXXXXXXXXXXXXXXXXXXXZZZXXZZZZZZZZZZZZZZZXXXXXXXXXXXXXXXZZZZZXXXXXXXXZZZ---M=+==+++"""""+++"-
+                                                                             CCC CCCCCCC+++++CCC+.
+                                                                                        CCCCC   C'
+                                                                                                 X
+                                                                                                 C
*XXXXXXXXXXXXXXXXXXXXXXXXXXZZZXZXXZZZZ-ZZZZZZZXXXXXXXXXXXXXXZXXXXXXXXXZZZZZM---M=MM=++""""""++++"--
+                                     C                                     CCC C  CCC++++++CCCC+..
+                                                                                     CCCCCC    C''
+                                                                                                XX
+                                                                                                CC
*XXXXAXAXXXXXXXXXXXXXXXXXXXZZZXXXXXZZ--ZZZZZZZXXXXXXXXXXXXXXXXXZXZZZXXXZZ-MZZZ-==MM+""++"""=="""---
+                                    CC                                  C    CCC  C++CC+++CC+++...
+                                                                                   CC  CCC  CCC'''
+                                                                                               XXX
+                                                                                               CCC
*XXXXXXXXXXXXXXXXXXXXXXZZXZZZZXXXZZ-ZZZZZZZZZZZXXXXZXXXXXXXXXXXXXZZZXZZZZZZZ-M==M=="+++++"""""++"--
+                                  C                                        C CC CC+CCCCC+++++CC+..
+                                                                                  C     CCCCC  C''
+                                                                                                XX
+                                                                                                CC
*ZXXXXXXXXXXXXXXXZXZXXXXZXXZZZXZXZZ-ZZXZZZZZZZZXXZZZZXXZXXXXXXXXXXXXXXZXXXZZ---MMM=+==+++"++"++"---
+                                  C                                        CCC   CCCCCCC+CC+CC+...
+                                                                                        C  C  C'''
+                                                                                               XXX
+                                                                                               CCC
*XXXXXXXXXXXXXXXXXXXXXXXZZZZZZZZZZ---ZZZZZZZZXZZZZZXZXZXXXXXXAAAAXAAXAXXXXXZXZZZZ-MM-MMMM=M+"""----
+                                 CCC                                            C  C    C C+++....
+                                                                                           CCC''''
+                                                                                              XXXX
+                                                                                              CCCC
*XXXXXXXXXXAXXXXXXXXXXXXZXZZXZZZXZZZZZXXZZZZZXZZZZZXXXXAXXXXXAAAAAAAXXXXZZZZXXXXZZMM--MM--M""---"--
+                                                                                   CC  CC ++...+..
+                                                                                          CC'''C''
+                                                                                            XXX XX
+                                                                                            CCC CC
*XXXXXXXXXXXXXZXXXXXXXXZZZZXZXZZZZZZZZZZZ-Z-ZZ-ZZXXXXXXXXXXXAAAAAAAXXXX----XZZ-MM==M--MM=+"--------
+                                        C C  C                        CCCC   C  CC CC  CC+........
+                                                                                         C''''''''
+                                                                                          XXXXXXXX
+                                                                                          CCCCCCCC
*XZXXXXXXXXXXXXXXXXXXXXZZZZZXZZZZZZZZZZZZZZ-ZZZZXXXXXXXXXXXAAAAAAXXXXXZ---ZZ-=M=++===+""-----------
+                                          C                           CCC  CC CCCCCCC++...........
+                                                                                     CC'''''''''''
+                                                                                       XXXXXXXXXXX
+                                                                                       CCCCCCCCCCC
*ZXXZXXZZZZXXXXXXXXXXXXZZZZZZZZZZZZZ-ZZZZZ--ZZZZZZZZZXZXXXXXXXXXXXXZXZ---ZZ-=+==+++"""------""-----
+                                   C     CC                          CCC  CCCCCCCC+++......++.....
+                                                                                  CCC''''''CC'''''
+                                                                                     XXXXXX  XXXXX
+                                                                                     CCCCCC  CCCCC
*ZXXXXXZZZXXXXXXZXXXXZXXZXZZZZZZZ-Z-ZZZZZZZZZZZZZZZZXAXXXXXZZXXZXZZZ---------=+===+"""-------------
+                                C C                                CCCCCCCCCCCCCCC+++.............
+                                                                                  CCC'''''''''''''
+                                                                                     XXXXXXXXXXXXX
+                                                                                     CCCCCCCCCCCCC
*XXZXXZZZZXXXXXXZXXZXZXZZZZZ-ZZZZZZZZZZZZZ---ZZZZZZXXXXXXZZZXZZZZ--M----Z----M==+"+""""""""--------
+                           C             CCC                    CC CCCC CCCC CCC+C++++++++........
+                                                                                C CCCCCCCC''''''''
+                                                                                          XXXXXXXX
+                                                                                          CCCCCCCC
*ZZXXZZXZXZXXXXXZZXXZZZZZZZZZZZZZZZ-ZZZZZZZZZZZZZXXXZXXZZZZZZZZ-Z----MZZ--MMMM+++""""++""+""+"-----
+                                  C                           C CCCC   CC    CCC++++CC++C++C+.....
+                                                                                CCCC  CC CC C'''''
+                                                                                             XXXXX
+                                                                                             CCCCC
*ZXXXZZXXXXXXXZXZXZZXZZZZZZZZZZZZ--ZZZZZZZZZZZZZXXXXZZZZZZZZZZ-----ZZ---MM==+++==+""""""""""""-----
+                                CC                           CCCCC  CCC  CCCCCCCC++++++++++++.....
+                                                                                 CCCCCCCCCCCC'''''
+                                                                                             XXXXX
+                                                                                             CCCCC
*XXXXXXXZZXXXXXXXXXXXXZZZZZ-ZZXZZZZ-XZZZZZZZZXXXXXZZXXZZZZZZZZZ----ZZZ-M=+++=+===++"+"""""""""-----
+                          C       C                           CCCC   C CCCCCCCCCCC+C+++++++++.....
+                                                                                  C CCCCCCCCC'''''
+                                                                                             XXXXX
+                                                                                             CCCCC
*XXXXZXXXXXXXZZZXXXZZXZZZZZZZZZZZZZZZZZZZZZZZXXZZZXXZZZZZZZZZZZZZZZZZ---MM=M-M=++++"""+""+""""-----
+                                                                    CCC  C C CCCCC+++C++C++++.....
+                                                                                  CCC CC CCCC'''''
+                                                                                             XXXXX
+                                                                                             CCCCC
*XXXXZXXXXXXXXXZXXXXZXZZZZZZZZZZ---ZZZZZZZZZXZZZZXZZZZZZZZZZZZZZZZ---MMZ-MMM-====+"+"++"+""""------
+                               CCC                               CCC   C   CCCCCC+C+CC+C++++......
+                                                                                 C C  C CCCC''''''
+                                                                                            XXXXXX
+                                                                                            CCCCCC
*XXXZXXXZXXXZXXXZXZXXXZZZZZZZZ--MMMZZZZZZZZXZZZZZZZZZZZZZZZZZZZZZ--MMM---MM=M=MMM=====+""""""------
+                             CC                                 CC   CCC  C C   CCCCCC++++++......
+                                                                                      CCCCCC''''''
+                                                                                            XXXXXX
+                                                                                            CCCCCC
*XXXZXXXXXXXXXXZXXXZZZZZZZZ-ZZMMM=M-ZZZZZZZZZZXZZZZZZZZZXZZZZZZZZZ---Z-Z-M=MMM=M=+=+===+-"""-------
+                          C     C C                              CCC C C C   C CCCCCCCC.+++.......
+                                                                                       'CCC'''''''
+                                                                                       X   XXXXXXX
+                                                                                       C   CCCCCCC
*ZXXXXXXXXXXXXXZZZXZZZZZZZ--Z-M-M-ZZZZZZZZZ--ZZZZZZZZZXZZZZZZ-Z--MM---MM-MM=M+MM=++++""""----------
+                         CC C C C         CC                C CC  CCC  C  C C  CCCCC++++..........
+                                                                                    CCCC''''''''''
+                                                                                        XXXXXXXXXX
+                                                                                        CCCCCCCCCC
*XXXXXXXXXXXZZZZZZZZZZZZZZM-Z-M--ZZZZZZZZZZZZZZZZZZZZZZZZ--Z--MM==MMMMMMM=+=+=M+""""""-------------
+                          C C CC                        CC CC  CC       CCCCC C++++++.............
+                                                                               CCCCCC'''''''''''''
+                                                                                     XXXXXXXXXXXXX
+                                                                                     CCCCCCCCCCCCC
*XXXXXXZXZXZZZXZZZXZZZZZZMMMZ--ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ-M==MMM===MM-M====M=="""""--------------
+                            CC                            C CC   CCC  C CCCC CC+++++..............
+                                                                               CCCCC''''''''''''''
+                                                                                    XXXXXXXXXXXXXX
+                                                                                    CCCCCCCCCCCCCC
*ZXXZZZZZZXZZZZZXXZZZZZ-M=MZZ--ZXZZZZZZZXZZXZXZZXXXZZZZ-----MM-MMM-ZM-ZZZ-MM-MMM++++""-------------
+                      C C   CC                        CCCCC  C   C  C   C  C   CCCC++.............
+                                                                                   CC'''''''''''''
+                                                                                     XXXXXXXXXXXXX
+                                                                                     CCCCCCCCCCCCC
*ZZZZZZZZZZZZZZ-ZZZ-----==-ZZ-ZXZZZ-ZZZZZXZZZZZZZXZZZZZZZZZZZ--M--Z------M-MMMM="""""""------------
+              C   CCCCCCCC  C     C                         CC CC CCCCCC C    C+++++++............
+                                                                               CCCCCCC''''''''''''
+                                                                                      XXXXXXXXXXXX
+                                                                                      CCCCCCCCCCCC
*ZZZZZZZZZZZZZZ--Z-MMM=+==-ZZZXXZZZZZZZZZZZZZZZZZZZZZZ----------------MMMM+++==+"+"""+"--"---------
+              CC C   CCCCC                           CCCCCCCCCCCCCCCC    CCCCCC+C+++C+..+.........
+                                                                               C CCC C''C'''''''''
+                                                                                      XX XXXXXXXXX
+                                                                                      CC CCCCCCCCC
*--ZZZZ-ZZZZ---MZ-MMMM=+=MZZZZZZZZZZZXXZZXXZZ-ZZ------M--M---MM-----MMMMM+"+====""""---------------
+CC    C    CCC  C    CCC                    C  CCCCCC CC CCC  CCCCC     C+CCCCC++++...............
+                                                                         C     CCCC'''''''''''''''
+                                                                                   XXXXXXXXXXXXXXX
+                                                                                   CCCCCCCCCCCCCCC
*----ZZZZ-ZZ--MM----M++=-ZZZXZZ-ZZXZXZXXXZZZZZZZ-Z-----ZZZ-----Z-M=====MM=+=MMM+"""----------------
+CCCC    C  CC  CCCC CCCC      C                C CCCCC   CCCCC C CCCCC  CCC   C+++................
+                                                                               CCC''''''''''''''''
+                                                                                  XXXXXXXXXXXXXXXX
+                                                                                  CCCCCCCCCCCCCCCC
*ZZ-ZZZZZ-ZZZZ-MM--MMMM-ZZZZZ-ZZZZZXXXXXZZ-ZZZZZ--ZZZ-ZZ---------M=M==M---==M"+""""-------------+--
+  C     C    C  CC    C     C            C     CC   C  CCCCCCCCC C CC CCCCC +C++++.............C..
+                                                                            C CCCC''''''''''''' ''
+                                                                                  XXXXXXXXXXXXX XX
+                                                                                  CCCCCCCCCCCCC CC
*ZZZZZZZZZZZZZZZ-----ZZZZZZZZZZZZZXXXXZZZZZZ-----Z-Z----Z------MMMM-----M++++""""+"----------------
+               CCCCC                       CCCCC C CCCC CCCCCC    CCCCC CCCC++++C+................
+                                                                            CCCC C''''''''''''''''
+                                                                                  XXXXXXXXXXXXXXXX
+                                                                                  CCCCCCCCCCCCCCCC
*ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXXXZZZZZZ----M---------ZZZ---M----Z--=+""""-"-"------------------
+                                          CCCC CCCCCCCCC   CCC CCCC CCCC++++.+.+..................
+                                                                        CCCC'C'C''''''''''''''''''
+                                                                            X X XXXXXXXXXXXXXXXXXX
+                                                                            C C CCCCCCCCCCCCCCCCCC
*ZZZZZZXZZZZZXXZXZZZZZZZZZXZZZZZZZXXZZZZZZ--MM---ZZ-ZZZZZZZZZZZ--ZZ--M=+==""-----------------------
+                                         CC  CCC  C           CC  CC CCCC++.......................
+                                                                         CC'''''''''''''''''''''''
+                                                                           XXXXXXXXXXXXXXXXXXXXXXX
+                                                                           CCCCCCCCCCCCCCCCCCCCCCC
*ZZZZZZZZXXXZXZZZZXXZZZZZXXZZZZZZZZZZZZZ----ZZ--ZZZZZZZZ----MMMM=MMM+"++=+""-----------------------
+                                       CCCC  CC        CCCC    C   C+CCCC++.......................
+                                                                    C    CC'''''''''''''''''''''''
+                                                                           XXXXXXXXXXXXXXXXXXXXXXX
+                                                                           CCCCCCCCCCCCCCCCCCCCCCC
*ZZZZZZXZZXXXXXXXZXZXZZZZXXZZZZZZZ-ZZZZZZZZZXZZZZZZZZZ-----MM==MMM=++""""++------------------------
+                                 C                   CCCCC  CC   CCC++++CC........................
+                                                                    CCCC  ''''''''''''''''''''''''
+                                                                          XXXXXXXXXXXXXXXXXXXXXXXX
+                                                                          CCCCCCCCCCCCCCCCCCCCCCCC
*ZZZZZZZZZZZZZZXXXXZXZXXXXZZZZZ-ZZZZZZZZZZZZZZZZZZZ--------M--MM--==+""+++--""---------------------
+                              C                   CCCCCCCC CC  CCCCC++CCC..++.....................
+                                                                    CC   ''CC'''''''''''''''''''''
+                                                                         XX  XXXXXXXXXXXXXXXXXXXXX
+                                                                         CC  CCCCCCCCCCCCCCCCCCCCC
*ZZZXZZXXZZZZZXXXXZZZZXXXXZZ-ZZZZZZZZZZZZZZZZZZZ--M---M----M--MMM+++=M=+"--------------------------
+                           C                   CC CCC CCCC CC   CCCC CC+..........................
+                                                                       C''''''''''''''''''''''''''
+                                                                        XXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                        CCCCCCCCCCCCCCCCCCCCCCCCCC
*-ZZZZZZZXXZZZZZXZZZZZZZZZZZ-ZZZZZZZZZZZZZZZ-----M=======MMMMMM=+""""+-----------------------------
+C                          C               CCCCC CCCCCCC      CC++++C.............................
+                                                                CCCC '''''''''''''''''''''''''''''
+                                                                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                     CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*----ZZZZXXXZXZZZZZZZZZZZZZZZZZZZZZZZZ-------MMMM=+=MMMMM==M=+""""---------------------------------
+CCCC                                 CCCCCCC    CCC     CC CC++++.................................
+                                                             CCCC'''''''''''''''''''''''''''''''''
+                                                                 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                 CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-------ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ-----MMMMMMMMMMMMMM==+"""++"----------------------------------
+CCCCCCC                             CCCCC              CCC+++CC+..................................
+                                                          CCC  C''''''''''''''''''''''''''''''''''
+                                                                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                                CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*---M---M-ZZZZZZZZ-ZZZ---ZZZZZZZZZZ-------MMMMMMMM+=====+""""=+------------------------------------
+CCC CCC C        C   CCC          CCCCCCC        CCCCCCC++++CC....................................
+                                                        CCCC  ''''''''''''''''''''''''''''''''''''
+                                                              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                              CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-----MM-M--ZZZZ-Z--ZZZZZZ-ZZZZZZ------M-MMMMMMMMMM=M=+""""+""-------"-----------------------------
+CCCCC  C CC    C CC      C      CCCCCC C          C CC++++C++.......C.............................
+                                                      CCCC CC'''''''B'''''''''''''''''''''''''''''
+                                                             XXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                             CCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*---MMMMMMM---------ZZZZ-Z---ZZZ---------MMMMMM=====+"-""+""---------------------------------------
+CCC       CCCCCCCCC    C CCC   CCCCCCCCC      CCCCCC+.++C++.......................................
+                                                    C'CC CC'''''''''''''''''''''''''''''''''''''''
+                                                     X     XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                     C     CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*---M==MMMMM-MMMM------------------MMMMMMMM=++==+=+"----------"------------------------------------
+CCC CC     C    CCCCCCCCCCCCCCCCCC        CCCCCCCC+..........+....................................
+                                                  C''''''''''C''''''''''''''''''''''''''''''''''''
+                                                   XXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                   CCCCCCCCCC CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
*-Z---MMMM+MMM-M-MMM-Z-M-----M-MMMMMMMMMMMMM==M++"----------"----------"---------------------------
+C CCC    C   C C   C C CCCCC C             CC CC+..........+..........C...........................
+                                                C''''''''''C''''''''''B'''''''''''''''''''''''''''
+                                                 XXXXXXXXXX XXXXXXXXXXHXXXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                 CCCCCCCCCC CCCCCCCCCCXCCCCCCCCCCCCCCCCCCCCCCCCCCC
*--Z-ZZ-MMM=MMMM--MM--M--Z------MMMMMM==MMMM==+""""++""-------"--------"""-------------------------
+CC C  C   C    CC  CC CC CCCCCC      CC    CCC++++CC++.......+........CCC.........................
+                                              CCCC  CC'''''''C''''''''BBB'''''''''''''''''''''''''
+                                                      XXXXXXX XXXXXXXXHHHXXXXXXXXXXXXXXXXXXXXXXXXX
+                                                      CCCCCCC CCCCCCCCXXXCCCCCCCCCCCCCCCCCCCCCCCCC
*Z----ZZ--MMMM==MM-------Z---MM-MMMMMMM==MMMM===++==++"-"""---"--------""""-"------------------"---
+ CCCC  CC    CC  CCCCCCC CCC  C       CC    CCCCCCCCC+.+++...+........CCCC.C..................C...
+                                                     C'CCC'''C''''''''BBBB'B''''''''''''''''''B'''
+                                                      X   XXX XXXXXXXXHHHHXHXXXXXXXXXXXXXXXXXXHXXX
+                                                      C   CCC CCCCCCCCXXXXCXCCCCCCCCCCCCCCCCCCXCCC
*----ZZZZ--MMM-MMMM-------M-M-MMMMMMMMMM===MMMMM=+++"++""+++"------"""""""""-------------------"---
+CCCC    CC   C    CCCCCCC C C          CCC     CCCC+CC++CCC+......CCCCCCCCC...................C...
+                                                   C  CC   C''''''BBBBBBBBB'''''''''''''''''''B'''
+                                                            XXXXXXHHHHHHHHHXXXXXXXXXXXXXXXXXXXHXXX
+                                                            CCCCCCXXXXXXXXXCCCCCCCCCCCCCCCCCCCXCCC
*ZZ---Z---ZZMM---M----M--MM=+++=MMMMMMMMM=+=+======M=+==++---------""""-""""-""--------------"-""--
+  CCC CCC    CCC CCCC CC  CCCCC         CCCCCCCCCC CCCCCC.........CCCC.CCCC.CC..............C.CC..
+                                                         '''''''''BBBB'BBBB'BB''''''''''''''B'BB''
+                                                         XXXXXXXXXHHHHXHHHHXHHXXXXXXXXXXXXXXHXHHXX
+                                                         CCCCCCCCCXXXXCXXXXCXXCCCCCCCCCCCCCCXCXXCC
*ZZZ-----Z-Z---MMMMMM--MMM+"--"+==+++======MMMM++"""""+++----------"""""""-""""""------------"""-"-
+   CCCCC C CCC      CC   C+..+CCCCCCCCCCCC    CC+++++CCC..........CCCCCCC.CCCCCC............CCC.C.
+                          C''C                  CCCCC   ''''''''''BBBBBBB'BBBBBB''''''''''''BBB'B'
+                           XX                           XXXXXXXXXXHHHHHHHXHHHHHHXXXXXXXXXXXXHHHXHX
+                           CC                           CCCCCCCCCCXXXXXXXCXXXXXXCCCCCCCCCCCCXXXCXC
*ZZZZ----Z--------MMMM=++++=+++++"-"""""""+++++++----------------""""""""""""""--"------"----"-"-""
+    CCCC CCCCCCCC    CCCCCCCCCCC+.+++++++CCCCCCC................CCCCCCCCCCCCCC..C......C....C.C.CC
+                                C'CCCCCCC       ''''''''''''''''BBBBBBBBBBBBBB''B''''''B''''B'B'BB
+                                 X              XXXXXXXXXXXXXXXXHHHHHHHHHHHHHHXXHXXXXXXHXXXXHXHXHH
+                                 C              CCCCCCCCCCCCCCCCXXXXXXXXXXXXXXCCXCCCCCCXCCCCXCXCXX
*ZZ-Z-Z---MMMMM--MM=++""++++=++++------""--"""""""---------"-"---""""""""""""""-""-"----"-"---"""""
+  C C CCC     CC  CCC++CCCCCCCCC......++..+++++++.........C.C...CCCCCCCCCCCCCC.CC.C....C.C...CCCCC
+                     CC         ''''''CC''CCCCCCC'''''''''B'B'''BBBBBBBBBBBBBB'BB'B''''B'B'''BBBBB
+                                XXXXXX  XX       XXXXXXXXXHXHXXXHHHHHHHHHHHHHHXHHXHXXXXHXHXXXHHHHH
+                                CCCCCC  CC       CCCCCCCCCXCXCCCXXXXXXXXXXXXXXCXXCXCCCCXCXCCCXXXXX
*----ZZM--M=M==+=+==M+"-++""-"++""""------------"++-------"-"---""""""""""-"-------"-""-"-"--""""--
+CCCC   CC C CCCCCCC C+.CC++.+CC++++............+CC.......C.C...CCCCCCCCCC.C.......C.CC.C.C..CCCC..
+                     C'  CC'C  CCCC''''''''''''C  '''''''B'B'''BBBBBBBBBB'B'''''''B'BB'B'B''BBBB''
+                      X    X       XXXXXXXXXXXX   XXXXXXXHXHXXXHHHHHHHHHHXHXXXXXXXHXHHXHXHXXHHHHXX
+                      C    C       CCCCCCCCCCCC   CCCCCCCXCXCCCXXXXXXXXXXCXCCCCCCCXCXXCXCXCCXXXXCC
*--MM-Z---M===+=+"+==MM=+"""""++""""------""-----"""-----""----"-""""""""""""""""""""""-"""--""""""
+CC  C CCC CCCCCC+CCC  CC+++++CC++++......++.....+++.....CC....C.CCCCCCCCCCCCCCCCCCCCCC.CCC..CCCCCC
+                C       CCCCC  CCCC''''''CC'''''CCC'''''BB''''B'BBBBBBBBBBBBBBBBBBBBBB'BBB''BBBBBB
+                                   XXXXXX  XXXXX   XXXXXHHXXXXHXHHHHHHHHHHHHHHHHHHHHHHXHHHXXHHHHHH
+                                   CCCCCC  CCCCC   CCCCCXXCCCCXCXXXXXXXXXXXXXXXXXXXXXXCXXXCCXXXXXX
*-MMM-----MM==M=====MMMMM+"+++++++"""--------------------""""""--""""""""""""""""""""""""""--""""""
+C   CCCCC  CC CCCCC     C+CCCCCCC+++....................CCCCCC..CCCCCCCCCCCCCCCCCCCCCCCCCC..CCCCCC
+                         C       CCC''''''''''''''''''''BBBBBB''BBBBBBBBBBBBBBBBBBBBBBBBBB''BBBBBB
+                                    XXXXXXXXXXXXXXXXXXXXHHHHHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHXXHHHHHH
+                                    CCCCCCCCCCCCCCCCCCCCXXXXXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXCCXXXXXX
*M==MMMM---M---MMM===++=M=+""+------"-------------""----""""""""""""""""""""""""""-""""""-""-""""""
+ CC    CCC CCC   CCCCCC CC++C......+.............CC....CCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC.CC.CCCCCC
+                          CC ''''''C'''''''''''''BB''''BBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB'BB'BBBBBB
+                             XXXXXX XXXXXXXXXXXXXHHXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXHHXHHHHHH
+                             CCCCCC CCCCCCCCCCCCCXXCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCXXCXXXXXX
*="+MM+M-MM--MMMMMM+""--"+++"-------"---------"----------""""-""""""""""""""""""""""""""-""""-"-"""
+C+C  C C  CC      C++..+CCC+.......+.........+..........CCCC.CCCCCCCCCCCCCCCCCCCCCCCCCC.CCCC.C.CCC
+ C                 CC''C   C'''''''C'''''''''C''''''''''BBBB'BBBBBBBBBBBBBBBBBBBBBBBBBB'BBBB'B'BBB
+                     XX     XXXXXXX XXXXXXXXX XXXXXXXXXXHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHXHXHHH
+                     CC     CCCCCCC CCCCCCCCC CCCCCCCCCCXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXCXCXXX
*=""=+==M-MMM=+=+++++------------------""-------------""-""""""""""""""""""""""""""""""""""""""""""
+C++CCCC C   CCCCCCCC..................++.............CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ CC                 ''''''''''''''''''CC'''''''''''''BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+                    XXXXXXXXXXXXXXXXXX  XXXXXXXXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+                    CCCCCCCCCCCCCCCCCC  CCCCCCCCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*+"+""++=M==M=+"----""--------------"""-"-"-----------""-""""""""""""""""""""""""""""""""""""""""""
+C+C++CCC CC CC+....++..............CCC.+.+...........CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+ C CC         C''''CC''''''''''''''BBB'C'C'''''''''''BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+               XXXX  XXXXXXXXXXXXXXHHHX X XXXXXXXXXXXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+               CCCC  CCCCCCCCCCCCCCXXXC C CCCCCCCCCCCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*="+----"=""=+""-----------"----"""-""""----------"---"--""""""""""-""""""""""""""""""""""-""""""""
+C+C....+C++CC++...........C....CCC.CCCC..........C...C..CCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCC.CCCCCCCC
+ C ''''C CC  CC'''''''''''B''''BBB'BBBB''''''''''B'''B''BBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBB'BBBBBBBB
+   XXXX        XXXXXXXXXXXHXXXXHHHXHHHHXXXXXXXXXXHXXXHXXHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHH
+   CCCC        CCCCCCCCCCCXCCCCXXXCXXXXCCCCCCCCCCXCCCXCCXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXX
*+-"---"-""-+"---"-----""""-------""""""-"-------------"---"-""""-"---""-"""""""-""""""""""""""""""
+C.+...+.++.C+...C.....CCCC.......CCCCCC.C.............C...C.CCCC.C...CC.CCCCCCC.CCCCCCCCCCCCCCCCCC
+ 'C'''C'CC' C'''B'''''BBBB'''''''BBBBBB'B'''''''''''''B'''B'BBBB'B'''BB'BBBBBBB'BBBBBBBBBBBBBBBBBB
+ X XXX X  X  XXXHXXXXXHHHHXXXXXXXHHHHHHXHXXXXXXXXXXXXXHXXXHXHHHHXHXXXHHXHHHHHHHXHHHHHHHHHHHHHHHHHH
+ C CCC C  C  CCCXCCCCCXXXXCCCCCCCXXXXXXCXCCCCCCCCCCCCCXCCCXCXXXXCXCCCXXCXXXXXXXCXXXXXXXXXXXXXXXXXX
*+----------""--""--""""""""""""-"""""""""""-"-"-"""-"----------"""""---"""""""""""""""""""""""""""
+C..........++..CC..CCCCCCCCCCCC.CCCCCCCCCCC.C.C.CCC.C..........CCCCC...CCCCCCCCCCCCCCCCCCCCCCCCCCC
+ ''''''''''CC''BB''BBBBBBBBBBBB'BBBBBBBBBBB'B'B'BBB'B''''''''''BBBBB'''BBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XXXXXXXXXX  XXHHXXHHHHHHHHHHHHXHHHHHHHHHHHXHXHXHHHXHXXXXXXXXXXHHHHHXXXHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCCCCCCCCC  CCXXCCXXXXXXXXXXXXCXXXXXXXXXXXCXCXCXXXCXCCCCCCCCCCXXXXXCCCXXXXXXXXXXXXXXXXXXXXXXXXXXX
*"-------"----""""""""""""""""""""""""""""""""""""""-"----"---""""-""-"""""""""""""""""""""""""""""
++.......+....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C....C...CCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
+C'''''''C''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''''B'''BBBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBB
+ XXXXXXX XXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXXXHXXXHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+ CCCCCCC CCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCCCXCCCXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
*----"---"-----"-""""""""""""""""""""""""""""""""""-"--"""""""""""-""-""-""""""""""""""""""""""""""
+....C...+.....C.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.C..CCCCCCCCCCC.CC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCC
+''''B'''C'''''B'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'B''BBBBBBBBBBB'BB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBB
+XXXXHXXX XXXXXHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHXXHHHHHHHHHHHXHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHH
+CCCCXCCC CCCCCXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXCCXXXXXXXXXXXCXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXX
*----"---"""--"-"-""""---"""""""""""""""""""""""-"--"-"""""""""-"-""------"""""""""""""""""""""""""
+....C...CCC..+.C.CCCC...CCCCCCCCCCCCCCCCCCCCCCC.C..C.CCCCCCCCC.C.CC......CCCCCCCCCCCCCCCCCCCCCCCCC
+''''B'''BBB''C'B'BBBB'''BBBBBBBBBBBBBBBBBBBBBBB'B''B'BBBBBBBBB'B'BB''''''BBBBBBBBBBBBBBBBBBBBBBBBB
+XXXXHXXXHHHXX XHXHHHHXXXHHHHHHHHHHHHHHHHHHHHHHHXHXXHXHHHHHHHHHXHXHHXXXXXXHHHHHHHHHHHHHHHHHHHHHHHHH
+CCCCXCCCXXXCC CXCXXXXCCCXXXXXXXXXXXXXXXXXXXXXXXCXCCXCXXXXXXXXXCXCXXCCCCCCXXXXXXXXXXXXXXXXXXXXXXXXX
*-""--""-"""""-""-"""""""""""""""""""""""""""""""""""""""""""""""""""""-----"""""""""""""""""""""""
+.CC..CC.CCCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.....CCCCCCCCCCCCCCCCCCCCCCC
+'BB''BB'BBBBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'''''BBBBBBBBBBBBBBBBBBBBBBB
+XHHXXHHXHHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXXHHHHHHHHHHHHHHHHHHHHHHH
+CXXCCXXCXXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCCXXXXXXXXXXXXXXXXXXXXXXX
*-""----"""""""""""""""""""""""""""""""""""""""""""-""""""""""""""""--"--"---""-"""""""""""""""""""
+.CC....CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCC..C..C...CC.CCCCCCCCCCCCCCCCCCC
+'BB''''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBB''B''B'''BB'BBBBBBBBBBBBBBBBBBB
+XHHXXXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHXXHXXHXXXHHXHHHHHHHHHHHHHHHHHHH
+CXXCCCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXCCXCCXCCCXXCXXXXXXXXXXXXXXXXXXX
*"""--""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""----"-"""""""""""""""""""""
+CCC..CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC....C.CCCCCCCCCCCCCCCCCCCCC
+BBB''BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB''''B'BBBBBBBBBBBBBBBBBBBBB
+HHHXXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXXXXHXHHHHHHHHHHHHHHHHHHHHH
+XXXCCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCCCCXCXXXXXXXXXXXXXXXXXXXXX
*""--"""-""""""""""-""-"""""""""""""""""""""""""""""""""""""""""""""""-"""-"--"""--""-"-"""""""""""
+CC..CCC.CCCCCCCCCC.CC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCC.C..CCC..CC.C.CCCCCCCCCCC
+BB''BBB'BBBBBBBBBB'BB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBB'B''BBB''BB'B'BBBBBBBBBBB
+HHXXHHHXHHHHHHHHHHXHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHXHXXHHHXXHHXHXHHHHHHHHHHH
+XXCCXXXCXXXXXXXXXXCXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXCXCCXXXCCXXCXCXXXXXXXXXXX
*""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""-""""""--""-""""""""""""
+CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCC..CC.CCCCCCCCCCCC
+BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBB''BB'BBBBBBBBBBBB
+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHXXHHXHHHHHHHHHHHH
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXCCXXCXXXXXXXXXXXX
*"""""""""""""""""""""-""""""""""""""""""""""""""""""""""""""""""""-"""""""-"""""--""---"""""""""""
+CCCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC.CCCCCCC.CCCCC..CC...CCCCCCCCCCC
+BBBBBBBBBBBBBBBBBBBBB'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'BBBBBBB'BBBBB''BB'''BBBBBBBBBBB
+HHHHHHHHHHHHHHHHHHHHHXHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHXHHHHHHHXHHHHHXXHHXXXHHHHHHHHHHH
+XXXXXXXXXXXXXXXXXXXXXCXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXCXXXXXXXCXXXXXCCXXCCCXXXXXXXXXXX




























*                                                                                                                                    BBBBBBB