N, M = map(int, input().split())

S = []
C = []
for i in range(M):
    s, c = map(int, input().split())
    S.append(s)
    C.append(c)

# 各桁を0で初期化したリストを作成
value = [0 for i in range(N)]

isError = False

# 制約を設定する
for i in range(M):
    s = S[i]
    c = C[i]
    if value[s-1] == 0 or value[s-1] == c:
        value[s-1] = c
    else:
        # 制約が重なればエラー
        isError = True
        break

# 桁数が異なる場合は指定桁数の最小値になるように
valueStr = ''.join(map(str, value))
keta = len(str(int(valueStr)))
if keta != N:
    for i in range(N - keta):
        value[i] = 1

if isError:
    print(-1)
else:
    print(int(''.join(map(str, value))))