#include <bits/stdc++.h>
using namespace std;
//面倒くさいからやめた
string judge1(string X){
}
string judge2(char X[]){
}
string judge3(string X){

}
bool ifmax
int main() {
    int N, M;//Nは桁数、Mは条件の数
    cin >> N >> M;
    bool X = 0;//while文を抜け出すかどうか
    string data[M][2];//条件の桁数,数字
    string S[M];//答えを判定するための変数
    //条件をdataに代入
    for (int i = 0; i < M; i++){
        cin >> data[i][0] >> data[i][1];
    }
    while(1){
        X = 0;
        //Sに1を足す
        if(M ==1)judge1(S);
        if(M ==2)judge2(S);
        if(M ==3)judge3(S);

        for (int i = 0; i < M; i++){
            if(S[data[i][0]]) != data[i][1]){
                X = 1;
            break;
            }
        }
        if(!X)break;
        //Sが最大値に到達しているか
        ;
        ans++;
    }
    if(X)cout << "-1" << endl;
    else cout << "ans" << endl;
}