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>
long long n, t2, p, t1, x;
int main() {
  while (scanf("%I64d%I64d%I64d", &n, &t2, &p) == 3) {
    t1 = n - t2;
    for (int i = 0; i < p; i++) {
      scanf("%I64d", &x);
      if (t1 == t2) {
        if (x & 1)
          putchar('.');
        else
          putchar('X');
      } else if (t1 < t2) {
        if (x < 2 * t1 && (x & 1))
          putchar('.');
        else
          putchar('X');
      } else {
        if (t2 == 1) {
          if (x == n)
            putchar('X');
          else
            putchar('.');
        } else if (t2 == 0)
          putchar('.');
        else {
          long long p = (t1 - t2);
          if (p & 1) {
            p = t1 - t2 + 1;
            if (x == n)
              putchar('X');
            else if (x <= p)
              putchar('.');
            else {
              x -= p;
              if (x & 1)
                putchar('.');
              else
                putchar('X');
            }
          } else {
            p = t1 - t2;
            if (x <= p)
              putchar('.');
            else {
              x -= p;
              if (x & 1)
                putchar('.');
              else
                putchar('X');
            }
          }
        }
      }
    }
  }
  return 0;
}
