#include <cstdlib>
#include <iostream>
#include <string>
#include <algorithm>
#include <queue>
using namespace std;
struct item{
string s;
int r; //modulo n
};
int main(int argc, char *argv[])
{
int n, m;
int d[10];
while (cin>>n)
{
cin>>m;
for (int i=0; i<m; i++)
{
cin>>d[i];
}
if (n==0){ cout<<0<<endl; continue; }
sort(d, d+m);
queue<item> Q;
bool mark[5000];
memset(mark, false, sizeof(mark));
for (int i=0; i<m; i++)
{
int r = d[i]%n;
string s;
if (mark[r]) continue;
s.append(1, (char) (d[i] + '0'));
if (s=="0") continue;
mark[r] = true;
item it = {s, r};
Q.push(it);
}
bool find = false;
while (!Q.empty())
{
item it = Q.front();
Q.pop();
if (it.r == 0){
cout<<it.s<<endl;
find = true;
break;
}
for (int i=0; i<m; i++)
{
int r = (it.r*10 + d[i])%n;
if (mark[r]) continue;
mark[r] = true;
string s = it.s;
s.append(1, (char) (d[i]+'0'));
item tmp = {s, r};
Q.push(tmp);
}
}
if (!find) cout<<0<<endl;
}
}