XXX    X      X X    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX   XXXX    XXX   XXXX   XXXX   XXXX   XXXX   XXX    XXXX    XXX   XXXX
XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX
XXX    X      X X    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX    XXX   XXXX    XXX   XXXX   XXXX   XXXX   XXXX   XXX    XXXX    XXX   XXXXXXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX   XXXX