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(), m = sc.nextInt();
		int s[] = new int[m], c[] = new int[m];
		Map<Integer, Integer> map = new TreeMap<Integer, Integer>();
		int ans = -1;
		boolean isexist = true;
		for (int i = 0; i < m; ++i) {
			s[i] = sc.nextInt();
			c[i] = sc.nextInt();
			if (map.containsKey(s[i])) {
				if (map.get(s[i]) != c[i])
					isexist = false;
			}
			if (n > 1) {
				if (s[i] == 1 && c[i] == 0)
					isexist = false;
			}
			map.put(s[i], c[i]);
		}
		sc.close();
		if (isexist) {
			StringBuffer tmp = new StringBuffer();
			if (n > 1)
				tmp.append("1");
			else
				tmp.append("0");
			for (int i = 1; i < n; ++i) {
				tmp.append("0");
			}
			for (int key : map.keySet()) {
				int value = map.get(key);
				tmp.replace(key - 1, key, String.valueOf(value));
			}
			ans = Integer.parseInt(tmp.toString());
		}
		System.out.println(ans);
	}
}
