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
import java.util.Arrays;
import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int N=sc.nextInt();
		int M=sc.nextInt();
		int[] keta=new int[N+1];
		boolean val=true;
		Arrays.fill(keta,-1);
		for(int i=0; i<M; i++) {
			int s=sc.nextInt();
			int c=sc.nextInt();
			if(keta[s]==-1) {
				keta[s]=c;
			}
			else if(keta[s]!=-1 && keta[s] != c){
				val =false;		//矛盾
			}
		}
		if(!val) {
			pl(-1);
			System.exit(0);
		}
		if(N==1) {
			if(keta[1]==-1) {
				pl(0);
			}
			else {
				pl(keta[1]);
			}
		}
		else if(N==2) {
			if(keta[1]==0) {
				pl(-1);
			}
			else if(keta[1]==-1) {
				keta[1]=1;		//条件なしのとき、
			}
			keta[2] = Math.max(keta[2], 0);
			pl(keta[1]*10+keta[2]);
		}
		else if(N==3) {
			if(keta[1] == 0 ) {
				pl(-1);
			}
			else {
				keta[1]=Math.max(keta[1], 1);
				for(int i=2; i<=3; i++) {
					keta[i]=Math.max(keta[i], 0);
				}
				pl(keta[1]*100+keta[2]*10+keta[3]);
			}
		}
	}
	public static void pl(Object o) {
		System.out.println(o);
	}
}