using System;
class ProgramC
    {
        static void Main(string[] args)
        {
            
            //入力
            string[] input = Console.ReadLine().Split(' ');
            int n = int.Parse(input[0]);
            int m = int.Parse(input[1]);
            
            int keta1 = 10;
            int keta2 = 10;
            int keta3 = 10;

            if(n == 1)
            {
                for(int i = 0;i < m;i++)
                {
                    string[] input2 = Console.ReadLine().Split(' ');
                    int keta = int.Parse(input2[0]);
                    int m_i = int.Parse(input2[1]);

                    if(keta1 != m_i && keta1 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta1 = m_i;
                }
                if(keta1 == 10)
                    keta1 = 0;
                Console.WriteLine(keta1);
                
            }
            else if(n == 2)
            {
                //すべての和を求める
                for(int i = 0;i < m;i++)
                {
                string[] input3 = Console.ReadLine().Split(' ');
                int keta = int.Parse(input3[0]);
                int m_i = int.Parse(input3[1]);

                if(keta == 1 && m_i == 0)
                {
                    Console.WriteLine("-1");
                    return;
                }

                if(keta == 1)
                {
                    if(keta1 != m_i && keta1 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta1 = m_i;
                }
                else
                {

                    if(keta2 != m_i && keta2 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta2 = m_i;
                }
                }
              if(keta1 == 10)
                    keta1 = 1;
                if(keta2 == 10)
                    keta2 = 0;
                Console.WriteLine(keta1*10 + keta2);
                
            }
            else
            {
                //すべての和を求める
                for(int i = 0;i < m;i++)
                {
                string[] input4 = Console.ReadLine().Split(' ');
                int keta = int.Parse(input4[0]);
                int m_i = int.Parse(input4[1]);

                if(keta == 1 && m_i == 0)
                {
                    Console.WriteLine("-1");
                    return;
                }

                if(keta == 1)
                {
                    if(keta1 != m_i && keta1 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta1 = m_i;
                }
                else if(keta == 2)
                {

                    if(keta2 != m_i && keta2 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta2 = m_i;
                }
                else
                {

                    if(keta3 != m_i && keta3 != 10)
                    {
                        Console.WriteLine("-1");
                        return;
                    }

                    keta3 = m_i;
                }

                }
                if(keta1 == 10)
                    keta1 = 1;
                if(keta2 == 10)
                    keta2 = 0;
                if(keta3 == 10)
                    keta3 = 0;
                Console.WriteLine(keta1*100 + keta2*10 + keta3);
            }

        } 
    } 

Measured memory_bytes: 11092