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.Scanner;

/**
 * https://atcoder.jp/contests/abc157/tasks/abc157_c
 *
 */
public final class Main {

	public static void main(String[] args) {
		try (Scanner scanner = new Scanner(System.in)) {
			int scale = scanner.nextInt();
			int max = scanner.nextInt();

			if (max == 0 && scale == 1) {
				System.out.println("0");
				return;
			}

			int[] values = new int[scale];
			for (int i = 0; i < values.length; i++) {
				values[i] = -1;
			}

			for (int i = 0; i < max; i++) {
				int s = scanner.nextInt() - 1;
				int c = scanner.nextInt();

				if (values[s] == -1) {
					values[s] = c;
				} else if (values[s] != c) {
					System.out.println("-1");
					return;
				} else {
					values[s] = c;
				}
			}

			if (scale != 1 && values[0] == 0) {
				System.out.println("-1");
				return;
			}

			for (int i = 0; i < values.length; i++) {
				if (values[i] != -1) {
					break;
				}
				if (i == 0) {
					values[i] = 1;
				} else {
					values[i] = 0;
				}
			}

			StringBuilder sb = new StringBuilder();
			for (int i = 0; i < values.length; i++) {
				sb.append(values[i] == -1 ? "0" : Integer.toString(values[i]));
			}
			System.out.println(Integer.parseInt(sb.toString()));
		}
	}

}
