#include <stdio.h>
#include <stdlib.h>

int f[40005];

int getindex(int x, int y, int n){
return (x-1) * n + y;
}

int find(int v){
if(f[v] == v)return v;
int F = find(f[v]);
f[v] = F;
return F;
}

int main()
{
    int n, m;
    while(scanf("%d%d",&n,&m) != EOF){
        for(int i = 1;i <= n * n; i++)f[i] = i;
        int flag = 1;
        for(int j = 1;j <= m; j++){
            int x, y;
            char op;
            scanf("%d %d %c",&x,&y,&op);
            getchar();
            int index1 = getindex(x, y, n);
            int index2 = op=='D'?getindex(x+1,y, n):getindex(x,y+1, n);
            int f1 = find(index1);
            int f2 = find(index2);
            if(f1 != f2)f[f1] = f2;
            else{
                if(flag){
                  printf("%d\n",j);
                  flag = 0;
                  return 0;
                }
            }
        }
        if(flag)printf("draw\n");
    }
    return 0;
}
/**************************************************************
	Problem: 2241
	User: admin
	Language: C
	Result: Accepted
	Time:48 ms
	Memory:1300 kb
****************************************************************/