7 7 7
1
2
3
4
5
6
7
 4 2 8
1
3
4
2
3
4
1
2
 9 4 9
1
2
3
4
5
6
7
8
9
 7 5 7
1
2
3
4
5
6
7
 15 10 15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 4 0 4
1
2
3
4
 12 2 12
1
2
3
4
5
6
7
8
9
10
11
12
 10 2 10
1
2
3
4
5
6
7
8
9
10
 7 4 7
1
2
3
4
5
6
7
 7 3 7
1
2
3
4
5
6
7

XXXXXXX
 ..XX.X.X
 ...X.X.XX
 .X.XXXX
 .X.X.X.X.XXXXXX
 ....
 .........X.X
 .......X.X
 .X.X.XX
 ...X.XX

#include <bits/stdc++.h>
int main(void) {
  long long n, k, x;
  int p, flag = 0, i;
  scanf("%I64d%I64d%d", &n, &k, &p);
  if (n % 2 == 1) {
    flag = 1;
    if (k == 0) {
      for (i = 0; i < p; ++i) {
        printf(".");
      }
      return 0;
    }
    --n;
    --k;
  }
  long long full = (n + 1 - k), free = n - k;
  if (k > n / 2) {
    full = (k - n / 2) * 2 + 1;
  } else {
    full = 0;
  }
  full = n + 1 - full;
  if (k < n / 2) {
    free = k * 2;
  } else {
    free = n + 1;
  }
  free = n + 1 - free;
  for (i = 0; i < p; ++i) {
    scanf("%I64d", &x);
    if (flag && x == n + 1) {
      printf("X");
    } else if (x <= free) {
      printf(".");
    } else if (x >= full) {
      printf("X");
    } else {
      if ((n + 1 - x) % 2 == 1) {
        printf("X");
      } else {
        printf(".");
      }
    }
  }
  return 0;
}
