#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
long long n;
int k;
cin>>n>>k;
vector<long long>redosled(k);
for(int i=0;i<k;i++){
    cin>>redosled[i];}
unordered_set<long long>prisutni;
prisutni.reserve(k*2);
for(long long x:redosled){
    prisutni.insert(x);}
unordered_map<long long,long long>dp;
dp.reserve(k*2);
for(long long x:redosled){
    long long xor_sum=0;
    for(long long d=1;d*d<=x;d++){
        if(x%d==0){
            if(prisutni.count(d)){
                xor_sum^=d;}
            long long d2=x/d;
            if(d2!=d&&prisutni.count(d2)){
                xor_sum^=d2;}}}
    dp[x]=xor_sum;}
for(int i=0;i<k;i++){
cout<<dp[redosled[i]]<<(i+1==k?'\n':' ');}
return 0;
}