using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Text;

class Program
{
    static void Main(string[] args)
    {
        // 入力
        int[] nm = Console.ReadLine().Split().Select(int.Parse).ToArray();
        int n = nm[0];
        int m = nm[1];

        int[] s = new int[m];
        int[] c = new int[m];
        for (int i = 0; i < m; i++)
        {
            int[] tmp = Console.ReadLine().Split().Select(int.Parse).ToArray();
            s[i] = tmp[0];
            c[i] = tmp[1];
        }

        // ダメなパターン
        // 一桁目0
        for (int i = 0; i < m; i++)
        {
            if (s[i] == 1 && c[i] == 0 && n != 1)
            {
                Console.WriteLine("-1");
                return;
            }
        }

        // 同じ桁で異なる条件
        for (int i = 0; i < m; i++)
        {
            for (int k = 0; k < m; k++)
            {
                if (s[i] == s[k] && c[i] != c[k])
                {
                    Console.WriteLine("-1");
                    return;
                }
            }
        }

        //　OKパターン
        StringBuilder ans = new StringBuilder("");
        for (int i = 0; i < n; i++)
        {
            ans.Append("0");
        }

        for (int i = 0; i < m; i++)
        {
            ans.Replace("0", c[i].ToString(), s[i] - 1, 1);
        }

        //all 0の場合
        int all0 = 0;
        for (int i = 0; i < n; i++)
        {
            if (ans[i] !='0')
            {
                all0 = 1;
            }
        }

        if (all0 == 0) 
        {
            Console.WriteLine("0");
            return;
        }


        //一桁目が0なら1に置き換える
        if (ans[0] == '0')
        {
            ans.Replace("0", "1", 0, 1);
        }

        Console.WriteLine(ans);
    }
}
