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<stdio.h>
#include<string.h>
__int64 min(__int64 x,__int64 y)
{
	return x<y?x:y;
}
int main()
{
	int p,i,r;
	__int64 n,k,x;
	scanf("%I64d%I64d%d",&n,&k,&p);
	if(n-k>k)
	{
		if((n-k+1)/2>=k+(n-2*k)/2)
		{
			r=0;
		}
		else 
		{
			r=1;
		}
	}
	else
	{
		if((n-k+1)/2>=n-k)
		{
			r=0;
		}
		else 
		{
			r=1;
		}
	}
	for(i=0;i<p;i++)
	{
		scanf("%I64d",&x);
		if(!r)
		{
			if(x>n-k)putchar('X');
			else putchar('.');
		}
		else
		{
			x=n+1-x;
			if(2*k>n)
			{
				if(x<=n-2*(n-k))putchar('X');
				else 
				{
					x-=n-2*(n-k);
					if(x%2)putchar('X');
					else putchar('.');
				}
			}
			else if(x>2*k)putchar('.');
			else if(x%2)putchar('X');
			else putchar('.');
		}
	}
	puts("");
	return 0;
}
