#include <bits/stdc++.h>

using namespace std;

long long bin(long long a){
    long long d,x,p;
    x=a;
    p=0;
    d=0;
    while (x!=0){
        x=x/2;
        p++;
    }
    for (long long i=p-1;i>=0;i--){
        long long f=pow(2,i);
        if (a/f==1)
            d+=pow(10,i);
        a=a%f;
    }
    return d;
}
long long xoor(long long a, long long b){
    long long aa=bin(a);
    long long bb=bin(b);
    long long i=1;
    long long c=0;
    while (aa>=pow(10,i-1) || bb>=pow(10,i-1)){
        long long q=pow(10,i);
        long long aaa=aa%q;
        aaa=10*aaa/q;
        long long bbb=bb%q;
        bbb=10*bbb/q;
        if (aaa==1 && bbb==0){
            long long k=pow(10,i-1);
            c+=k;
        }
        if (aaa==0 && bbb==1){
            long long k=pow(10,i-1);
            c+=k;
        }
        i++;
    }
    return c;
}
long long aand(long long a, long long b){
    long long aa=bin(a);
    long long bb=bin(b);
    long long i=1;
    long long c=0;
    while (aa>=pow(10,i-1) && bb>=pow(10,i-1)){
        long long q=pow(10,i);
        long long aaa=aa%q;
        aaa=10*aaa/q;
        long long bbb=bb%q;
        bbb=10*bbb/q;
        if (aaa==1 && bbb==1){
            long long k=pow(10,i-1);
            c+=k;
        }

        i++;
    }
    return c;
}
vector<long long> delioci (long long n){
    vector<long long> v;
    for (long long i=1;i<=n;i++){
        if (n%i==0)
            v.push_back(i);
    }
    return v;
}
long long binnaz(long long n){
    long long k;
    long long i=0;
    while (n!=0){
        long long q=pow(2,i);
        k+=((n%10)*q);
    n/=10;
    i++;
    }
    return k;
}
void ispis1broj(long long n){
    vector<long long> v=delioci(n);
    long long c=v[0];

    for (long long i=0;i<v.size()-1;i++){
        c=binnaz(xoor(c,v[i+1]));
    }
    cout<<c<<" ";
}
int main()
{
    long long n,d;
    cin>>n>>d;
    vector<long long> w;
    for (long long i=0;i<d;i++){
        long long q;
        cin>>q;
        w.push_back(q);}

    for (long long i=0;i<w.size();i++){
        ispis1broj(w[i]);
    }

    return 0;
}