If there is an integer not less than 0 satisfying the following conditions, print the smallest such integer; otherwise, print `-1`.

* The integer has exactly N digits in base ten. (We assume 0 to be a 1-digit integer. For other integers, leading zeros are not allowed.)
* The s_i-th digit from the left is c_i. \left(i = 1, 2, \cdots, M\right)

Constraints

* All values in input are integers.
* 1 \leq N \leq 3
* 0 \leq M \leq 5
* 1 \leq s_i \leq N
* 0 \leq c_i \leq 9

Input

Input is given from Standard Input in the following format:


N M
s_1 c_1
\vdots
s_M c_M


Output

Print the answer.

Examples

Input

3 3
1 7
3 2
1 7


Output

702


Input

3 2
2 1
2 3


Output

-1


Input

3 1
1 0


Output

-1
#include<cstdio>
struct node{
	int s,c;
} a[100];
int n,m,ans[100];
int main() {
	scanf("%d%d",&n,&m);
	for (int i=1;i<=m;++i) scanf("%d%d",&a[i].s,&a[i].c);
	for (int i=1;i<=m;++i) if (!ans[a[i].s]) ans[a[i].s]=a[i].c; else if (ans[a[i].s]!=a[i].c) ans[0]=-1;
	if (n>1) for (int i=1;i<=m;++i) if (a[i].s==1&&a[i].c==0) ans[0]=-1;
	if (n>1&&!ans[1]) ans[1]=1;
	if (ans[0]==-1) {
		printf("-1");
		return 0;
	}
	for (int i=1;i<=n;++i) printf("%d",ans[i]);
	return 0;
} 