#include <iostream>
using namespace std;

int all_in(int x,int left[1000][1000],int right[1000][1000],int n)
{
    int flag_l=1;
    for(int i=1;i<=n;i++)
    {
        if(left[i][x]!=1)
        {
            flag_l=0;
            break;
        }
    }
    int flag_r=1;
    for(int i=1;i<=n;i++)
    {
        if(right[i][x]!=1)
        {
            flag_r=0;
            break;
        }
    }
    return flag_l||flag_r;
}
int main() {
    int n, k;
    cin>>n>>k;
    int *a=new int[n+1]{0};
    int tmp_left[1000][1000]={0};
    int tmp_right[1000][1000]={0};
    int sum_equal=0;
    for(int i=0;i<k;i++)
    {
        int c;
        cin>>c;


        int *lst=new int[2*c];
        for(int j=0;j<2*c;j++)cin>>lst[j];
        char mark;
        cin>>mark;
        if(mark=='=')
        {
            for(int j=0;j<2*c;j++)a[lst[j]]=1;
        }
        else
        {
            sum_equal++;
            for(int f=0;f<=n;f++)
            {
                int flag=1;
                for(int j=0;j<2*c;j++)
                    if(f==lst[j])flag=0;
                if(flag==1)
                {
                    a[f]=flag;
                }
            }
            if(mark=='>')
            {
                for(int j=0;j<c;j++)tmp_left[sum_equal][lst[j]]=1;
                for(int j=c;j<2*c;j++)tmp_right[sum_equal][lst[j]]=1;
            }
            else
            {
                for(int j=0;j<c;j++)tmp_right[sum_equal][lst[j]]=1;
                for(int j=c;j<2*c;j++)tmp_left[sum_equal][lst[j]]=1;
            }

        }
    }
    a[0]=1;
    int t=0;
    for(int i=0;i<=n;i++)
    {
        //cout<<a[i]<<endl;
        if(a[i]==0)
        {
            if(t==0)t=i;
            else
            {
                t=0;
                //break;
            }
        }
    }
    //cout<<t;
    t=0;
    for(int i=0;i<=n;i++)
    {
        if(a[i]==0)
        {
            if(t==0)t=i;
            else
            {
                t=0;
                break;
            }
        }
    }
    if(t!=0)cout<<t;
    else
    {
        for(int i=0;i<=n;i++)
        {
            if(a[i]==0)
            {
                int g=all_in(i,tmp_left,tmp_right,sum_equal);
                if(g==0)a[i]=1;
            }
        }
        t=0;
        for(int i=0;i<=n;i++)
        {
            if(a[i]==0)
            {
                if(t==0)t=i;
                else
                {
                    t=0;
                    break;
                }
            }
        }
        cout<<t;
    }

}
// 64 位输出请用 printf("%lld")