X      X      XX X    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXX
X   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX
X      X      XX X    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX