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>
using namespace std;
template <class Ty, class Tx>
Ty cast(const Tx &x) {
  Ty y;
  stringstream ss("");
  ss << x;
  ss.seekg(0);
  ss >> y;
  return y;
}
int main() {
  int n, k, p, i, j, z;
  cin >> n >> k >> p;
  for ((j) = 0; (j) < (p); (j)++) {
    cin >> i;
    if (k == 0) {
      cout << "." << endl;
      continue;
    }
    if (n - k == 0) {
      cout << "X" << endl;
      continue;
    }
    if ((n - k) % 2 == 0) {
      z = min(k / 2, (n - k) / 2);
      if (z > 0) z = 2 * z - 1;
      if (i <= n - k - z)
        cout << ".";
      else {
        i -= n - k - z;
        if (i % 2 == 1 || i > 2 * z)
          cout << "X";
        else
          cout << ".";
      }
    } else {
      z = 2 * min((k - 1) / 2, (n - k) / 2);
      if (i <= n - k - z)
        cout << ".";
      else {
        i -= n - k - z;
        if (i % 2 == 1 || i > 2 * z)
          cout << "X";
        else
          cout << ".";
      }
    }
    cout << endl;
  }
  return 0;
}
