N=io.read"*n"
M=io.read"*n"
sc={}
for i=1,M do
  sc[i]={io.read"*n",io.read"*n"}
end

function f(i,j,k)
    for _,v in ipairs(sc)do
        if(v[1]==1)then
            if(v[2]~=i)then return false end
        elseif(v[1]==2)then
            if(v[2]~=j)then return false end
        else
            if(v[2]~=k)then return false end
        end
    end
    return true
end
n=-1
function g()
for i=0,9 do for j=0,9 do for k=0,9 do
    if(f(i,j,k))then if(select(N,k,j,i)~=0)then n=i*100+j*10+k return end end
end end end
end
g()
print(n)