#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <list>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <bitset>
 
 
int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);
    // std::cout << std::fixed << std::setprecision(10);
    
    int n, m; std::cin >> n >> m;
    std::vector<int> p(n, 0);
    bool pb[n] = {false};
    for(int i=0; i<m; i++)
    {
        int s, c; std::cin >> s >> c;
        if(pb[s-1] && p[s-1] != c)
        {
            std::cout << -1 << std::endl;
            return 0;
        }
        else
        {
            p[s-1] = c;
            pb[s-1] = true;
        }
    }
    
    int ans = 0;
    for(int i=0; i<n; i++)
    {
        ans += p[i];
    }

    if(ans==0 && n!=1)
    {
        std::cout << -1 << std::endl;
        return 0;
    }

    for(int i=0; i<n; i++)
    {
        std::cout << p[i];
    }std::cout << std::endl;
 
    return 0;
}