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

public class Main {
	public static void main(String... args) {
		Scanner scan = new Scanner(System.in);
		int n = scan.nextInt();
		int m = scan.nextInt();
		HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
		boolean error = false;
		for (int i = 0; i < m; i++) {
			int s = scan.nextInt();
			int c = scan.nextInt();
			if (map.containsKey(s) && map.get(s) != c) {
				error = true;
				continue;
			}
			map.put(s, c);
		}

		int number = -1;
		for (int i = 0; i <= 999; i++) {
			if (String.valueOf(i).length() == n && check(n, i, map)) {
				number = i;
				break;
			}
		}

		System.out.println(!error ? number : -1);
		scan.close();
	}

	private static boolean check(int n, int number, HashMap<Integer, Integer> map) {
		for (int key : map.keySet()) {
			int dn1 = (int)Math.pow(10, n - key + 1);
			int dn2 = (int)Math.pow(10, n - key);
			int dn3 = (number % dn1) / dn2;
			if (dn3 != map.get(key)) {
				return false;
			}
		}

		return true;
	}
}