#include <bits/stdc++.h>
using namespace std;
long long n, u, q, Lu, Ru;
string s;
struct TNode {
  long long L, H;
  TNode() {}
  TNode(long long aL, long long aH) {
    L = aL;
    H = aH;
  }
};
vector<TNode> P;
void Enter() { cin >> n >> q; }
void Scan(long long L, long long H) {
  if (L > u || H < u) return;
  P.emplace_back(L, H);
  long long x = (L + H) / 2;
  if (L < H) {
    Scan(L, x - 1);
    Scan(x + 1, H);
  } else {
    Lu = L;
    Ru = H;
  }
}
void Print() {
  for (auto t : P) cout << t.L << ' ' << t.H << endl;
}
bool Go(char c) {
  if (c == 'U') {
    if (P.size() <= 1)
      return false;
    else
      P.pop_back();
    return true;
  }
  TNode q = P.back();
  if (q.L == q.H) return false;
  long long x = (q.L + q.H) / 2;
  if (c == 'L')
    P.emplace_back(q.L, x - 1);
  else
    P.emplace_back(x + 1, q.H);
  return true;
}
long long FindEnd() {
  P.clear();
  Scan(1, n);
  for (char c : s) Go(c);
  return (P.back().L + P.back().H) / 2;
}
void Solve() {
  for (; q > 0; q--) {
    cin >> u;
    getline(cin, s);
    getline(cin, s);
    cout << FindEnd() << '\n';
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  Enter();
  Solve();
}
