XX             X    X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X X    X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX
XX             X    X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X X    X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX