#![allow(unused_parens)]
#![allow(unused_imports)]
#![allow(non_upper_case_globals)]
#![allow(non_snake_case)]
#![allow(unused_mut)]
#![allow(unused_variables)]
#![allow(dead_code)]

#[allow(unused_macros)]
macro_rules! invec {
    ( $ t : ty ) => {{
        let mut s = String::new();
        match std::io::stdin().read_line(&mut s) {
            Ok(0) => Vec::<$t>::new(),
            Ok(n) => s
                .trim()
                .split_whitespace()
                .map(|s| s.parse::<$t>().unwrap())
                .collect::<Vec<$t>>(),
            Err(_) => Vec::<$t>::new(),
        }
    }};
}

#[allow(unused_macros)]
macro_rules! get {
      ($t:ty) => {
          {
              let mut line: String = String::new();
              std::io::stdin().read_line(&mut line).unwrap();
              line.trim().parse::<$t>().unwrap()
          }
      };
      ($($t:ty),*) => {
          {
              let mut line: String = String::new();
              std::io::stdin().read_line(&mut line).unwrap();
              let mut iter = line.split_whitespace();
              (
                  $(iter.next().unwrap().parse::<$t>().unwrap(),)*
              )
          }
      };
      ($t:ty; $n:expr) => {
          (0..$n).map(|_|
              get!($t)
          ).collect::<Vec<_>>()
      };
      ($($t:ty),*; $n:expr) => {
          (0..$n).map(|_|
              get!($($t),*)
          ).collect::<Vec<_>>()
      };
      ($t:ty ;;) => {
          {
              let mut line: String = String::new();
              std::io::stdin().read_line(&mut line).unwrap();
              line.split_whitespace()
                  .map(|t| t.parse::<$t>().unwrap())
                  .collect::<Vec<_>>()
          }
      };
      ($t:ty ;; $n:expr) => {
          (0..$n).map(|_| get!($t ;;)).collect::<Vec<_>>()
      };
}

#[allow(unused_macros)]
macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
    ($($r:tt)*) => {
        let mut s = {
            use std::io::Read;
            let mut s = String::new();
            std::io::stdin().read_to_string(&mut s).unwrap();
            s
        };
        let mut iter = s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
}

macro_rules! input_inner {
    ($iter:expr) => {};
    ($iter:expr, ) => {};

    ($iter:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($iter, $t);
        input_inner!{$iter $($r)*}
    };
    ($iter:expr, mut $var:ident : $t:tt $($r:tt)*) => {
        let mut $var = read_value!($iter, $t);
        input_inner!{$iter $($r)*}
    };
}

#[allow(unused_macros)]
macro_rules! read_value {
    ($iter:expr, ( $($t:tt),* )) => {
        ( $(read_value!($iter, $t)),* )
    };

    ($iter:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($iter, $t)).collect::<Vec<_>>()
    };

    ($next:expr, [$t:tt]) => {
        {
            let len = read_value!($next, usize);
            (0..len).map(|_| read_value!($next, $t)).collect::<Vec<_>>()
        }
    };
    ($iter:expr, chars) => {
        read_value!($iter, String).chars().collect::<Vec<char>>()
    };

    ($iter:expr, usize1) => {
        read_value!($iter, usize) - 1
    };

    ($iter:expr, $t:ty) => {
        $iter.next().unwrap().parse::<$t>().expect("Parse error")
    };
}

#[allow(unused_macros)]
#[cfg(debug_assertions)]
macro_rules! mydbg {
    //($arg:expr) => (dbg!($arg))
    //($arg:expr) => (println!("{:?}",$arg));
      ($($a:expr),*) => {
          eprintln!(concat!($(stringify!($a), " = {:?}, "),*), $($a),*);
      }
}
#[cfg(not(debug_assertions))]
macro_rules! mydbg {
    ($($arg:expr),*) => {};
}

macro_rules! echo {
    ($($a:expr),*) => {
          $(println!("{}",$a))*
      }
}

struct SliceDisplay<'a, T: 'a>(&'a [T]);
impl<'a, T: std::fmt::Display + 'a> std::fmt::Display for SliceDisplay<'a, T> {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        for item in self.0 {
            write!(f, "{} ", item)?;
        }
        Ok(())
    }
}

use std::cmp::*;
use std::collections::*;
use std::ops::{Add, Div, Mul, Sub};

#[allow(dead_code)]
static INF_I64: i64 = 92233720368547758;
#[allow(dead_code)]
static INF_I32: i32 = 21474836;
#[allow(dead_code)]
static INF_USIZE: usize = 18446744073709551;
#[allow(dead_code)]
static M_O_D: usize = 1000000007;
#[allow(dead_code)]
static PAI: f64 = 3.1415926535897932;

trait IteratorExt: Iterator {
    fn toVec(self) -> Vec<Self::Item>;
}

impl<T: Iterator> IteratorExt for T {
    fn toVec(self) -> Vec<Self::Item> {
        self.collect()
    }
}

trait CharExt {
    fn toNum(&self) -> usize;
    fn toAlphabetIndex(&self) -> usize;
    fn toNumIndex(&self) -> usize;
}
impl CharExt for char {
    fn toNum(&self) -> usize {
        return *self as usize;
    }
    fn toAlphabetIndex(&self) -> usize {
        return self.toNum() - 'a' as usize;
    }
    fn toNumIndex(&self) -> usize {
        return self.toNum() - '0' as usize;
    }
}

trait VectorExt {
    fn joinToString(&self, s: &str) -> String;
}
impl<T: ToString> VectorExt for Vec<T> {
    fn joinToString(&self, s: &str) -> String {
        return self
            .iter()
            .map(|x| x.to_string())
            .collect::<Vec<_>>()
            .join(s);
    }
}

fn main() {
    input! {
       n: usize,
       m:usize,
       sc:[(usize,usize);m],
    }

    let mut kouho = vec![
        "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16",
        "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31",
        "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46",
        "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61",
        "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76",
        "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", "88", "89", "90", "91",
        "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105",
        "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118",
        "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", "131",
        "132", "133", "134", "135", "136", "137", "138", "139", "140", "141", "142", "143", "144",
        "145", "146", "147", "148", "149", "150", "151", "152", "153", "154", "155", "156", "157",
        "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170",
        "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183",
        "184", "185", "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196",
        "197", "198", "199", "200", "201", "202", "203", "204", "205", "206", "207", "208", "209",
        "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", "222",
        "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235",
        "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248",
        "249", "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", "260", "261",
        "262", "263", "264", "265", "266", "267", "268", "269", "270", "271", "272", "273", "274",
        "275", "276", "277", "278", "279", "280", "281", "282", "283", "284", "285", "286", "287",
        "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", "298", "299", "300",
        "301", "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313",
        "314", "315", "316", "317", "318", "319", "320", "321", "322", "323", "324", "325", "326",
        "327", "328", "329", "330", "331", "332", "333", "334", "335", "336", "337", "338", "339",
        "340", "341", "342", "343", "344", "345", "346", "347", "348", "349", "350", "351", "352",
        "353", "354", "355", "356", "357", "358", "359", "360", "361", "362", "363", "364", "365",
        "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", "378",
        "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", "390", "391",
        "392", "393", "394", "395", "396", "397", "398", "399", "400", "401", "402", "403", "404",
        "405", "406", "407", "408", "409", "410", "411", "412", "413", "414", "415", "416", "417",
        "418", "419", "420", "421", "422", "423", "424", "425", "426", "427", "428", "429", "430",
        "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", "442", "443",
        "444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456",
        "457", "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469",
        "470", "471", "472", "473", "474", "475", "476", "477", "478", "479", "480", "481", "482",
        "483", "484", "485", "486", "487", "488", "489", "490", "491", "492", "493", "494", "495",
        "496", "497", "498", "499", "500", "501", "502", "503", "504", "505", "506", "507", "508",
        "509", "510", "511", "512", "513", "514", "515", "516", "517", "518", "519", "520", "521",
        "522", "523", "524", "525", "526", "527", "528", "529", "530", "531", "532", "533", "534",
        "535", "536", "537", "538", "539", "540", "541", "542", "543", "544", "545", "546", "547",
        "548", "549", "550", "551", "552", "553", "554", "555", "556", "557", "558", "559", "560",
        "561", "562", "563", "564", "565", "566", "567", "568", "569", "570", "571", "572", "573",
        "574", "575", "576", "577", "578", "579", "580", "581", "582", "583", "584", "585", "586",
        "587", "588", "589", "590", "591", "592", "593", "594", "595", "596", "597", "598", "599",
        "600", "601", "602", "603", "604", "605", "606", "607", "608", "609", "610", "611", "612",
        "613", "614", "615", "616", "617", "618", "619", "620", "621", "622", "623", "624", "625",
        "626", "627", "628", "629", "630", "631", "632", "633", "634", "635", "636", "637", "638",
        "639", "640", "641", "642", "643", "644", "645", "646", "647", "648", "649", "650", "651",
        "652", "653", "654", "655", "656", "657", "658", "659", "660", "661", "662", "663", "664",
        "665", "666", "667", "668", "669", "670", "671", "672", "673", "674", "675", "676", "677",
        "678", "679", "680", "681", "682", "683", "684", "685", "686", "687", "688", "689", "690",
        "691", "692", "693", "694", "695", "696", "697", "698", "699", "700", "701", "702", "703",
        "704", "705", "706", "707", "708", "709", "710", "711", "712", "713", "714", "715", "716",
        "717", "718", "719", "720", "721", "722", "723", "724", "725", "726", "727", "728", "729",
        "730", "731", "732", "733", "734", "735", "736", "737", "738", "739", "740", "741", "742",
        "743", "744", "745", "746", "747", "748", "749", "750", "751", "752", "753", "754", "755",
        "756", "757", "758", "759", "760", "761", "762", "763", "764", "765", "766", "767", "768",
        "769", "770", "771", "772", "773", "774", "775", "776", "777", "778", "779", "780", "781",
        "782", "783", "784", "785", "786", "787", "788", "789", "790", "791", "792", "793", "794",
        "795", "796", "797", "798", "799", "800", "801", "802", "803", "804", "805", "806", "807",
        "808", "809", "810", "811", "812", "813", "814", "815", "816", "817", "818", "819", "820",
        "821", "822", "823", "824", "825", "826", "827", "828", "829", "830", "831", "832", "833",
        "834", "835", "836", "837", "838", "839", "840", "841", "842", "843", "844", "845", "846",
        "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", "858", "859",
        "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", "870", "871", "872",
        "873", "874", "875", "876", "877", "878", "879", "880", "881", "882", "883", "884", "885",
        "886", "887", "888", "889", "890", "891", "892", "893", "894", "895", "896", "897", "898",
        "899", "900", "901", "902", "903", "904", "905", "906", "907", "908", "909", "910", "911",
        "912", "913", "914", "915", "916", "917", "918", "919", "920", "921", "922", "923", "924",
        "925", "926", "927", "928", "929", "930", "931", "932", "933", "934", "935", "936", "937",
        "938", "939", "940", "941", "942", "943", "944", "945", "946", "947", "948", "949", "950",
        "951", "952", "953", "954", "955", "956", "957", "958", "959", "960", "961", "962", "963",
        "964", "965", "966", "967", "968", "969", "970", "971", "972", "973", "974", "975", "976",
        "977", "978", "979", "980", "981", "982", "983", "984", "985", "986", "987", "988", "989",
        "990", "991", "992", "993", "994", "995", "996", "997", "998", "999",
    ];
    'outer: for i in 0..kouho.len() {
        if kouho[i].len() != n {
            continue;
        }
        let mut d = kouho[i];
        for j in 0..m {
            let (s, c) = sc[j];
            if d.to_string().split("").toVec()[s] != c.to_string() {
                continue 'outer;
            }
        }
        echo!(d);
        return;
    }

    echo!(-1);
}


Measured memory_bytes: 4352