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

 
public class Main {
 
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int M = sc.nextInt();
		int[] ans = new int [N];
		HashMap<Integer, Integer> map = new HashMap<>();

		for(int i = 0; i < M; i++) {
			int keta = sc.nextInt();
			int num = sc.nextInt();
			//　同じ桁に違う数がある場合
			if(map.containsKey(keta)) {
				if(map.get(keta) != num) {
					System.out.print(-1);
					return;
				}
			}else {
				map.put(keta, num);
			}
		}

		//　最大桁数がない場合は1を補完
		if(N != 1) {
			if(!map.containsKey(1)) {
				map.put(1, 1);
			}
		}

		//　最大桁数が0の場合
		if(N != 1) {
			if(map.get(1) == 0) {
				System.out.print(-1);
				return;
			}
		}
		
		//　最少値を取得
		for(Map.Entry<Integer, Integer> entry : map.entrySet()) {
			ans[entry.getKey() - 1] = entry.getValue();
		}

		for(int i = 0; i < N; i++) {
			System.out.print(ans[i]);
		}
		sc.close();
	}
	
}