#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
long long n, k, xr;
long long d[100000005];
vector <int> delioci;
long long podeli(long long x){
    vector <int> v1;
    v1.push_back(1);
    long long kv = sqrt(x);
    for(int i = 2; i <= kv; i++){
        if(x % i == 0)
            //cout << i << endl;
            v1.push_back(i);
    }
    int velicina = v1.size();
    for(int i = 0; i < velicina; i++)
        if(x / v1[i] > kv)
            v1.push_back(x / v1[i]);
    delioci = v1;
}
int main(){
    cin >> n >> k;
    for(int i = 0; i < k; i++)
        cin >> d[i];
    for(int i = 0; i < k; i++){
        podeli(d[i]);
        xr = 0;
        for(int i = 0; i < delioci.size(); i++)
            xr ^= delioci[i];
        cout << xr << " ";
    }
    return 0;
}