#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll mod=1e9+7;
const int maxn=15;
int vis[maxn];
int dig[maxn],cn;
int n,k;
int ans;
int dfs(int sum,int large,int id)
{
    if(id==-1)
    {
        ans=sum;
        return 1;
    }
    for(int i=0;i<10;i++)
    {
        if(vis[i]) continue;
        if(large)
        {
            if(dfs(sum*10+i,large,id-1)) return 1;
        }
        else
        {
            if(i>=dig[id]&&dfs(sum*10+i,i>dig[id],id-1)) return 1;
        }
    }
    return 0;
}
int main()
{
    scanf("%d%d",&n,&k);
    int x;
    for(int i=1;i<=k;i++)
    {
        scanf("%d",&x);
        vis[x]=1;
    }
    int t=n;cn=0;
    while(t)
    {
        dig[cn++]=t%10;
        t/=10;
    }
    if(!dfs(0,0,cn-1))
    {
        ans=0;
        for(int i=1;i<10;i++)
        {
            if(vis[i]==0)
            {
                ans=i;
                break;
            }
        }
        int mnnum=0;
        for(int i=0;i<10;i++)
        {
            if(vis[i]==0)
            {
                mnnum=i;
                break;
            }
        }
        for(int i=1;i<=cn;i++)
        {
            ans=ans*10+mnnum;
        }
    }
    printf("%d\n",ans);
}

