#include<iostream>
using namespace std;
int N,K,t,flag;
int d[10],d1[10],n[10],num1,num2;

int main(){
	cin>>N>>K;
	for(int i=0;i<K;i++){
		cin>>t;
		d1[t]=1;
	}
	for(int i=0;i<10;i++){
		if(!d1[i]){
			d[num2]=i;
			num2++;
		}
	}
	while(N>0){
		n[num1]=N%10;
		N/=10;
		num1++;
	}
	for(int i=num1-1;i>=0;i--){
		if(i==num1){
			num1++;
			if(d[0]>0)
				n[i]=d[0];
			else
				n[i]=d[1];
			flag=1;
			continue;
		}
		if(flag==2){
			if(n[i]==9){
				i+=2;
				continue;
			}
			n[i]++;
			flag=0;
		}
		if(flag==1){
			n[i]=d[0];
			continue;
		}
		for(int j=0;j<num2;j++){
			if(n[i]<d[j]){
				n[i]=d[j];
				flag=1;
				break;
			}
			if(n[i]==d[j])
				break;
			if(n[i]>d[j]&&j==num2-1){
				i=i+2;
				flag=2;
			}
		}
	}
	for(int i=num1-1;i>=0;i--)
		cout<<n[i];
	cout<<endl;
	
	return 0;
}