#include<bits/stdc++.h>
using namespace std;

int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int k;
long long n;
if(!(cin>>n>>k))return 0;
vector<long long>redsosled(k);
unordered_map<long long,long long>dp;
for(int i=0;i<k;i++){
    cin>>redsosled[i];}
unordered_set<long long>prisutni(redsosled.begin(),redsosled.end());
for(long long x:redsosled){
    long long xor_sum=0;
    for(long long i=1;i*i<=x;i++){
        if(x%i==0){
            if(prisutni.count(i)){
                xor_sum^=i;}
            if(i*i!=x){
                long long drugi=x/i;
                if(prisutni.count(drugi)){
                    xor_sum^=drugi;}}}}
    dp[x]=xor_sum;}
for(int i=0;i<k;i++){
    cout<<dp[redsosled[i]]<<(i==k-1?"":" ");}
cout<<"\n";
return 0;
}