N, M = (int(x) for x in input().split(' '))
TMP = ['*'] * N
ans = 0

#ループで探しながら置き換え処理 
for i in range(M):
  s, c = (int(x) for x in input().split(' '))

  #既に異なる値が指定されている場合はエラー(-1)とする
  if TMP[s-1] == '*' or TMP[s-1] == c:
    TMP[s-1] = c
  else:
    ans = -1
    break    

# 例外判定
if M > 1 and TMP[0] == 0:
  ans = -1

#未指定文字の置き換え。最上位桁は"1"に、以外は"0"に置き換える。
if ans != -1:
  for x in range(N):
    #先頭の未指定文字は1に置き換え
    if TMP[x] == '*' and x == 0:
      if M > 1: 
        TMP[x] = 1
      else:
      	TMP[x] = 0
      
    #以外の未指定文字は0に置き換え
    if TMP[x] == '*' and x > 0:
      TMP[x] = 0


if ans != -1:
  ans = int(''.join(map(str, TMP)))
  print(ans)
else:
  print(-1)
