#include <bits/stdc++.h>
using namespace std;
set<pair<pair<int, int>, int> > S;
int n, q;
int main() {
  cin >> n >> q;
  for (int i = 0; i < q; i++) {
    pair<pair<int, int>, int> nu;
    char dir[2];
    cin >> nu.first.first >> nu.first.second >> dir;
    if (dir[0] == 'U')
      nu.first.second = 0;
    else
      nu.first.second = 1;
    pair<pair<int, int>, int> srcp;
    srcp.first.first = nu.first.first;
    srcp.first.second = srcp.second = 0;
    std::set<pair<pair<int, int>, int> >::iterator it = S.lower_bound(srcp);
    if ((*it).first.first == nu.first.first) {
      nu.second = 0;
    } else if (dir[0] == 'U') {
      if (it == S.end()) {
        nu.second = n + 1 - nu.first.first;
      } else {
        if ((*it).first.second == 0) {
          nu.second = (*it).second + (*it).first.first - nu.first.first;
        } else {
          nu.second = (*it).first.first - nu.first.first;
        }
      }
    } else {
      if (it != S.begin()) --it;
      if ((*it).first.first > nu.first.first) it = S.end();
      if (it == S.end()) {
        nu.second = nu.first.first;
      } else {
        if ((*it).first.second == 1) {
          nu.second = (*it).second + nu.first.first - (*it).first.first;
        } else {
          nu.second = nu.first.first - (*it).first.first;
        }
      }
    }
    cout << nu.second << endl;
    if (nu.second > 0) S.insert(nu);
  }
  return 0;
}
