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

//In the name of ALLAH

#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>

using namespace std;

#define err(x) cout<<#x<<" : "<<x<<'\n';
typedef unsigned long long ulong;

int main(){
    ulong n,k,x; int p;
    scanf("%I64d%I64d%d",&n,&k,&p);
    if (!k){
        while (p--){
            scanf("%I64d",&x);
            printf(".");
        }
        return 0;
    }
    if (k==1){
        while (p--){
            scanf("%I64d",&x);
            if (x!=n) printf(".");
            else printf("X");
        }
        return 0;
    }
    if (n-k<=k){
        while (p--){
            scanf("%I64d",&x);
            if (x<=2*k){
                if ((x&1) && n-k) printf(".");
                else printf("X");
            }
            else printf("X");
        }
        return 0;
    }
    ulong rem=n-2*k+1;
    bool chk=0;
    if (!(rem&1)){
         rem++;
         chk=1;
    }
    while (p--){
        scanf("%I64d",&x);
        if (!chk){
            if (x<=rem) printf(".");
            else if ((x-rem)&1) printf("X");
            else printf(".");
        }
        else{
            if (x==n) printf("X");
            else if (x<=rem) printf(".");
            else if ((x-rem)&1) printf("X");
            else printf(".");
        }
    }

    return 0;
}


