def resolve1():
    N, M = list(map(int, input().split()))

    ### 左から数えてn 桁目の数字を入れるリスト
    ### n[0] は使用しない
    num_list = [-1] * (5+1)

    ketamax = 0
    for _ in range(M):
        s, c = list(map(int, input().split()))
        ketamax = max(ketamax, s)
        if s == 1:
            ### 最上位桁数は既に別の数字が入っていたら0には置き換えない
            if num_list[s] == -1:
                num_list[s] = c
            else:
                if c != 0:
                    num_list[s] = min(num_list[s], c)
        else:
            if num_list[s] == -1:
                num_list[s] = c
            else:
                num_list[s] = min(num_list[s], c)

    for i in range(1, ketamax + 1):
        if num_list[i] == -1:
            num_list[i] = 0
    
    number = ""
    if ketamax == 1 and num_list[1] == 0:
        number = "0"
    else:
        if num_list[1] == -1:
            num_list[1] = 1
        for i in range(2, ketamax + 1):
            if num_list[i] == -1:
                num_list[i] = 0
        number = "".join(map(str, num_list[1: ketamax + 1]))
    
    if len(number) == N:
        return number
    else:
        return "-1"

print(resolve1())