X XX   X XX   X XX      X      X      X      X      X      X      X      X      X      X      X      X      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 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 XX      X      X      X      X      X      X      X      X      X      X      X      X      X   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XX   X XXX 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 XX