dddddddd                                                                                                            
VVVVVVVV           VVVVVVVV iiii              d::::::d                                                  AAA               PPPPPPPPPPPPPPPPP   PPPPPPPPPPPPPPPPP   
V::::::V           V::::::Vi::::i             d::::::d                                                 A:::A              P::::::::::::::::P  P::::::::::::::::P  
V::::::V           V::::::V iiii              d::::::d                                                A:::::A             P::::::TRGINO:::::P P::::::TRGINO:::::P 
V::::::V           V::::::V                   d:::::d                                                A:::::::A            PP::::::     ::::::PPP::::::     ::::::P
 V:::::V           V:::::Viiiiiii     ddddddddd:::::d     eeeeeeeeeeee       ooooooooooo            A:::::::::A             P:::::  *  ::::::P  P:::::  *  ::::::P
  V:::::V         V:::::V i:::::i   dd::::::::::::::d   ee::::::::::::ee   oo:::::::::::oo         A:::::A:::::A            P:::::     ::::::P  P:::::     ::::::P
   V:::::V       V:::::V   i::::i  d::::::::::::::::d  e::::::eeeee:::::eeo:::::::::::::::o       A:::::A A:::::A           P::::TRGINO:::::P   P::::TRGINO:::::P 
    V:::::V     V:::::V    i::::i d:::::::ddddd:::::d e::::::e     e:::::eo:::::ooooo:::::o      A:::::A   A:::::A          P:::::::::::::PP    P:::::::::::::PP  
     V:::::V   V:::::V     i::::i d::::::d    d:::::d e:::::::eeeee::::::eo::::o     o::::o     A:::::A     A:::::A         P::::PPPPPPPPP      P::::PPPPPPPPP    
      V:::::V V:::::V      i::::i d:::::d     d:::::d e:::::::::::::::::e o::::o     o::::o    A:::::AAAAAAAAA:::::A        P::::P              P::::P            
       V:::::V:::::V       i::::i d:::::d     d:::::d e::::::eeeeeeeeeee  o::::o     o::::o   A:::::::::::::::::::::A       P::::P              P::::P            
        V:::::::::V        i::::i d:::::d     d:::::d e:::::::e           o::::o     o::::o  A:::::AAAAAAAAAAAAA:::::A      P::::P              P::::P            
         V:::::::V        i::::::id::::::ddddd::::::dde::::::::e          o:::::ooooo:::::o A:::::A             A:::::A   PP::::::PP          PP::::::PP          
          V:::::V         i::::::i d:::::::::::::::::d e::::::::eeeeeeee  o:::::::::::::::oA:::::A               A:::::A  P::::::::P          P::::::::P          
           V:::V          i::::::i  d:::::::::ddd::::d  ee:::::::::::::e   oo:::::::::::ooA:::::A                 A:::::A P::::::::P          P::::::::P          
            VVV           iiiiiiii   ddddddddd   ddddd    eeeeeeeeeeeeee     ooooooooooo AAAAAAA                   AAAAAAAPPPPPPPPPP          PPPPPPPPPP