n, m = map(int, input().split())
D={}
switch = 0
ans = 0
#写像の集合をかぶらないように作る
#かぶったらその時点で-1
for i in range(m):
	a, b = map(int, input().split())
	if a in D:
		for s in D:
			if a == s and b != D[s]:
				print('-1')
				switch+=1
				break
	else:
		D[a]=b
for a in D:
	ans+=D[a]*10**(n-a)

#n=1は分けて処理(10**0=1で0が出力されない)
if switch==0 and n==1:
	print(max([ans,0]))
	switch+=1
#桁数をちょうどnにする
if switch==0:
	if 10**(n-1)>ans:
		print(ans+10**(n-1))
	else:
		print(ans)