#include <bits/stdc++.h>
using namespace std;
int n, m, ans;
struct node {
  int l, r, x, y;
};
bool operator<(node p, node q) {
  return (p.l == q.l) ? (p.r < q.r) : (p.l < q.l);
}
set<node> S;
int main() {
  scanf("%d%d", &n, &m);
  S.insert((node){0, 0, 1, 1});
  S.insert((node){1, n, 1, 1});
  for (int i = 1; i <= m; ++i) {
    char op;
    int x, y;
    scanf("%d %d %c", &x, &y, &op);
    node cur = *(--S.lower_bound((node){x, n + 1, 1, 1}));
    if (cur.l <= x && x <= cur.r) {
      S.erase(cur);
      if (op == 'L') {
        ans = x - cur.x + 1;
        S.insert((node){cur.l, x - 1, cur.x, y + 1});
        S.insert((node){x + 1, cur.r, cur.x, cur.y});
      } else {
        ans = y - cur.y + 1;
        S.insert((node){cur.l, x - 1, cur.x, cur.y});
        S.insert((node){x + 1, cur.r, x + 1, cur.y});
      }
    } else
      ans = 0;
    printf("%d\n", ans);
  }
  return 0;
}
