/*本题目题意是给你n个硬币,里面有一个是假的,然后你只有一个天平
给你每次称的硬币以及结果判断哪个是假的。
算法:主要判断有两条,1,相等的肯定是真的,如果是《或者》,那么就让小的减1,大的加1,
如果绝对值最大的只有一个,那么假的就是那个。否则就是0.2,一种特殊情况,就是都是等号,那么剩下的都是假的
如果只剩一个,那么就是那个,否者0.
WA了好久啊!
*/
#include<stdio.h>
#include<string.h>
#include<math.h>
int num[1010],used[1010],a[1010];
int k,n,l,pos;
int judge()
{
int i,j1,max=0;
for(i=1;i<=n;i++)//条件一
{
if(!used[i])
{
if(abs(num[i])>max)
{
max=abs(num[i]);
pos=i;
}
}
}
j1=0;
for(i=1;i<=n;i++)
{
if(!used[i])
{
if(abs(num[i])==max)
j1++;
}
}
if(j1==1)
return 1;
else
return 0;
}
int main()
{
int i,j,p;
char ch;
while(scanf("%d%d",&n,&k)!=EOF)
{
memset(used,0,sizeof(used));
memset(num,0,sizeof(num));
while(k--)
{
scanf("%d",&l);
for(i=1;i<=2*l;i++)
scanf("%d",&a[i]);
getchar();
scanf("%c",&ch);
switch(ch)
{
case '<':
for(i=1;i<=l;i++)
if(!used[a[i]]) num[a[i]]--;
for(i=l+1;i<=2*l;i++)
if(!used[a[i]]) num[a[i]]++;
break;
case '>':
for(i=l+1;i<=2*l;i++)
if(!used[a[i]]) num[a[i]]--;
for(i=1;i<=l;i++)
if(!used[a[i]]) num[a[i]]++;
break;
case '=':
for(i=1;i<=2*l;i++)
used[a[i]]=1;
break;
}
}
j=0;
for(i=1;i<=n;i++)//条件2
{
if(used[i]==0)
{p=i;j++;}
}
if(j==1)
{
printf("%d/n",p);
continue;
}
if(judge())
{
printf("%d/n",pos);
}
else
{
printf("0/n");
}
}
return 0;
}