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.*;
public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		boolean key = true;
		int[] ans = new int[N];
		for (int i = 0; i < N; i++) ans[i] = 10;
		int res = 0;
		List<int[]> in = new ArrayList<>();
		StringBuilder sb = new StringBuilder();

		for (int i = 0; i < M; i++) {
			int[] stock = new int[2];
			stock[0] = sc.nextInt();
			stock[1] = sc.nextInt();
			in.add(stock);
		}
		
		for (int i = 0; i < in.size(); i++) {
			int si = in.get(i)[0];
			int ci = in.get(i)[1];
			if ((N < si) 
					|| (N != 1 && si == 1 && ci == 0)
					|| (ans[si-1] != 10 && ans[si-1] != ci)) {
				key = false;
				break;
			} else {
				ans[si-1] = ci;
			}
		}
		if (key) {
			for (int i = 0; i < ans.length; i++) {
				if (N == 1 && ans[0] == 10) {
					res = 0;
					System.out.println(0);
					System.exit(0);
				}
				if (ans[0] == 10) {
					ans[0] = 1;
				}
				if (ans[i] != 10) {
					sb.append(ans[i]);
				} else {
					sb.append("0");
				}
			}
			res = Integer.parseInt(sb.toString());
			System.out.println(res);
		} else {
			System.out.println(-1);
		}
		
	}
}