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;
const int MAXM = 1000;
long long n, k;
long long odd, even;
int m;
long long a[MAXM];
int main() {
  cin >> n >> k >> m;
  for (int i = 0; i < m; i++) cin >> a[i];
  if (k == 0 || k == n) {
    cout << string(m, k == 0 ? '.' : 'X') << endl;
    return 0;
  }
  if (n & 1) {
    k--;
    n--;
  }
  even = max(n + 2 - 2 * k, 2LL);
  odd = n + 1 - max(2 * (k - n / 2), 0LL);
  for (int i = 0; i < m; i++)
    printf("%c", ((a[i] + even) & 1) == 0 && even <= a[i] ? 'X'
                 : ((a[i] + odd) & 1) == 0 && odd <= a[i] ? 'X'
                                                          : '.');
  printf("\n");
  return 0;
}
