#include <iostream>
#include <vector>
#include <bits/ios_base.h>
#include <algorithm>
using namespace std;

int main()
{

    cin.tie(NULL);
    int n;
    int k;
    cin >> n >> k;
    vector<int> niz(k);
    vector<int> sortedn(k);
    for (int i=0;i<k;i++) {
     cin >> niz[i];
     sortedn[i] = niz[i];
    }
    sort(sortedn.begin(),sortedn.end());
    vector<int> xored(sortedn[k-1]+1);
    xored[1] = 1;
    for (int i=1;i<k;i++) {
        xored[sortedn[i]] = sortedn[i];
        for (int j = sortedn[i]-1; j>=sqrt(sortedn[i]); j--) {
            if (sortedn[i]%j==0) xored[sortedn[i]] = xored[sortedn[i]] ^ sortedn[j];
        }
    }
    for (int i=0;i<n;i++) {
        cout << xored[niz[i]] << " ";
    }

    return 0;
}