#include <bits/stdc++.h>
using namespace std;
struct node{
	int a1,b1;
}a[6];
int c[4];
int main()
{
	int n,m,i,j;
	cin>>n>>m;
	
	for(i=1; i<=m; i++)
		cin>>a[i].a1>>a[i].b1;
	for(i=1; i<=m; i++)
	{
		for(j=1; j<i; j++)
			if(a[i].a1==a[j].a1)
				if(a[i].b1!=a[j].b1)
				{
					cout<<"-1";
					return 0;
				}
		if(a[i].a1==1 && a[i].b1==0 && n!=1)
		{
			cout<<"-1";
			return 0;
		}
		c[a[i].a1]=a[i].b1;
	}
	if(c[1]==0 && n!=1)
		c[1]=1;
	for(i=1; i<=n; i++)
		cout<<c[i];
	return 0;
}