#include<bits/stdc++.h>
using namespace std;
struct node{
int p,s,next;
}q[1000000];
int k,t,n,m,a[10];
bool b[10],c[1000000];
void out(int num){
if(num==1)return;
out(q[num].next);
cout<<q[num].s;
}
void solve(){
int i,x,y,head,tail;
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
head=0;
tail=1;
c[0]=1;
q[1].p=0;
while(head<=tail){
x=q[++head].p;
for(i=1;i<=n;i++){
y=x*10+a[i];
if(c[y%k]==0||y%k==0&&y!=0){
c[y%k]=1;
q[++tail].s=a[i];
q[tail].p=y%k;
q[tail].next=head;
if(y%k==0){
out(tail);
cout<<endl;
return;
}
}
}
};
cout<<-1<<endl;
return;
}
int main(){
int i,kase=0;
while(scanf("%d%d",&k,&t)==2){
kase++;
for(i=1;i<=t;i++){
cin>>m;
b[m]=1;
}
n=0;
for(i=0;i<10;i++)
if(!b[i])
a[++n]=i;
cout<<"Case "<<kase<<": ";
solve();
}
return 0;
}