X                   XX      X      X      X      X      X  XXXXX  XXXXX  XX  X      X      X  X   X     X       X      X      X      X      X    X X      X      X      X     XX      X      X      X      X      X      X      X      X      X
X      X      X      X      X      X      X      X      X      X      X      X      X      X      X      X      X
X                   XX      X      X      X      X      X  XXXXX  XXXXX  XX  X      X      X  X   X     X       X      X      X      X      X    X X      X      X      X     XX      X      X      X      X      X      X      X      X      XX      X      X      X      X      X      X      X      X      X      X      X      X      X      X      X      X