#入力
n,m = map(int, input().split())
sc=[list(map(int,input().split())) for i in range(m)]
#桁、数字の格納所
s=[]
c=[]
#flag
f=0
#n個の0が並ぶ数列
ans=[str(0) for i in range(n)]
#桁数字の格納
for i in range(m):
    if sc[i][0]==1 and sc[i][1]==0 and n!=1:#1桁目に0が入る2桁以上の数の時
        f=-1#ERROR
        break
    else:
        if sc[i][0] in s:#ある桁がすでに入力されている時
            if sc[i][1]!=c[s.index(sc[i][0])]:#その桁の数字が異なる場合ERROR
                f=-1
                break
        else:#ある桁がまだ入力されていない時
            ans[sc[i][0]-1]=str(sc[i][1])#ある桁に数字を入力(文字列として)
            s.append(sc[i][0])
            c.append(sc[i][1])

if f==-1:
    print(-1)
else:#flagが正常
    if n==1:
        print(c)
    else:
        if ans[0]==str(0):
            ans[0]==str(1)
        print(''.join(ans))
