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

import java.io.*;
import java.util.StringTokenizer;

public class C1 {
	BufferedReader in;
	StringTokenizer str;
	PrintWriter out;
	String SK;

	String next() throws IOException {
		while ((str == null) || (!str.hasMoreTokens())) {
			SK = in.readLine();
			if (SK == null)
				return null;
			str = new StringTokenizer(SK);
		}
		return str.nextToken();
	};

	int nextInt() throws IOException {
		return Integer.parseInt(next());
	};

	double nextDouble() throws IOException {
		return Double.parseDouble(next());
	};

	long nextLong() throws IOException {
		return Long.parseLong(next());
	};

	void solve() throws IOException {
		long n = nextLong();
		long k = nextLong();
		int p=nextInt();
		for (int i = 0; i < p; i++) {
			long st = nextLong();
			if (n % 2 == 0) {
				if ((st % 2 == 0) && ((n - st) / 2 < k))
				{
					System.out.print("X");
					continue;
				};
				if ((st % 2 == 1) && (n-st-1) / 2 < k-n/2)
				{
			       System.out.print("X");
			       continue;
				};
				System.out.println(".");
			}
			if (n % 2 == 1) {  
				if ((st == n) && (k>0)) {
					System.out.print("X");
					continue;
				}
				if ((st % 2 == 0) && ((n - st -1 ) / 2 < k-1))
				{
					System.out.print("X");
					continue;
				};
				if ((st % 2 == 1) && (n-st-2) / 2 < k-n/2-1)
				{
			       System.out.print("X");
			       continue;
				};
				System.out.println(".");
			}
		}
	};

	void run() throws IOException {

		in = new BufferedReader(new InputStreamReader(System.in));
		out = new PrintWriter(System.out);
		solve();
		out.close();
	}

	public static void main(String[] args) throws IOException {
		new C1().run();
	}

}
