# -*- coding: utf-8 -*-



N,K = list(map(int, input().split()))

Dk = list(map(str, input().split()))



for i in range(N, 100000):

    i = str(i)

    for j in range(K):

        if i.find(Dk[j]) != -1:

            break

        if j == K-1:

            print(i)

            exit()
# -*- coding: utf-8 -*-



import sys



def input(): return sys.stdin.readline().strip()

def list2d(a, b, c): return [[c] * b for i in range(a)]

def list3d(a, b, c, d): return [[[d] * c for j in range(b)] for i in range(a)]

def list4d(a, b, c, d, e): return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]

def ceil(x, y=1): return int(-(-x // y))

def INT(): return int(eval(input()))

def MAP(): return list(map(int, input().split()))

def LIST(N=None): return list(MAP()) if N is None else [INT() for i in range(N)]

def Yes(): print('Yes')

def No(): print('No')

def YES(): print('YES')

def NO(): print('NO')

sys.setrecursionlimit(10 ** 9)

INF = 10 ** 18

MOD = 10 ** 9 + 7



N, K = MAP()

A = LIST()



i = N

while 1:

    s = str(i)

    for a in A:

        if s.count(str(a)):

            break

    else:

        print(i)

        exit()

    i += 1

# -*- coding: utf-8 -*-
N, K = list(map(int, input().split()))
Dk = list(map(str, input().split()))
for i in range(N, 100000):
    i = str(i)
    for j in range(K):
        if i.find(Dk[j]) != -1:
            break
        if j == K - 1:
            print(i)
            exit()

# -*- coding: utf-8 -*-
import sys


def input():
    return sys.stdin.readline().strip()


def list2d(a, b, c):
    return [[c] * b for i in range(a)]


def list3d(a, b, c, d):
    return [[[d] * c for j in range(b)] for i in range(a)]


def list4d(a, b, c, d, e):
    return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)]


def ceil(x, y=1):
    return int(-(-x // y))


def INT():
    return int(eval(input()))


def MAP():
    return list(map(int, input().split()))


def LIST(N=None):
    return list(MAP()) if N is None else [INT() for i in range(N)]


def Yes():
    print("Yes")


def No():
    print("No")


def YES():
    print("YES")


def NO():
    print("NO")


sys.setrecursionlimit(10**9)
INF = 10**18
MOD = 10**9 + 7
N, K = MAP()
A = LIST()
i = N
while 1:
    s = str(i)
    for a in A:
        if s.count(str(a)):
            break
    else:
        print(i)
        exit()
    i += 1

-N, K = list(map(int, input().split())) -Dk = list(map(str, input().split())) -for i in range(N, 100000): -    i = str(i) -    for j in range(K): -        if i.find(Dk[j]) != -1: +import sys + + +def input(): +    return sys.stdin.readline().strip() + + +def list2d(a, b, c): +    return [[c] * b for i in range(a)] + + +def list3d(a, b, c, d): +    return [[[d] * c for j in range(b)] for i in range(a)] + + +def list4d(a, b, c, d, e): +    return [[[[e] * d for j in range(c)] for j in range(b)] for i in range(a)] + + +def ceil(x, y=1): +    return int(-(-x // y)) + + +def INT(): +    return int(eval(input())) + + +def MAP(): +    return list(map(int, input().split())) + + +def LIST(N=None): +    return list(MAP()) if N is None else [INT() for i in range(N)] + + +def Yes(): +    print("Yes") + + +def No(): +    print("No") + + +def YES(): +    print("YES") + + +def NO(): +    print("NO") + + +sys.setrecursionlimit(10**9) +INF = 10**18 +MOD = 10**9 + 7 +N, K = MAP() +A = LIST() +i = N +while 1: +    s = str(i) +    for a in A: +        if s.count(str(a)): -        if j == K - 1: -            print(i) -            exit() +    else: +        print(i) +        exit() +    i += 1