#include <iostream>
#include <vector>

using namespace std;

void unesi(int n, int a[])
{
    for(int i = 0; i < n; i++)
        cin>>a[i];
}

int Xor(int x, int niz[])
{
    vector<int> a;
    for(int i : niz)
    {
        if(x % i == 0)
            a.push_back(i);
    }
    int r = 0;
    for(int i = 0; i < a.size(); i++)
        r = r ^ a[i];
    return r;
}

int main()
{
    int n, k;
    cin>>n>>k;
    int a[k];
    unesi(k, a);
    int xor[k];
    for(int i = 0; i < k; i++)
        xor[i] = Xor(a[i], a);
    for(int i = 0; i < k; i++)
        cout<<xor[i]<<endl;
    return 0;
}