#include <bits/stdc++.h>
using namespace std;
long long int n;
long long int u;
string s;
int q;
int count(long long int number) {
  if (!number) return 0;
  int result = 0;
  while (number % 2 == 0) {
    result++;
    number >>= 1;
  }
  return result;
}
long long int solve(long long int start, string s) {
  int tmp = count(n + 1) - 1;
  for (int i = 0; i < s.size(); ++i) {
    int zeros = count(start);
    long long int total = ((long long int)1 << (zeros + 1)) - 1;
    if (s[i] == 'U') {
      if (zeros < tmp) {
        long long int tmp_one = start + (total - 1) / 2 + 1;
        long long int tmp_two = start - (total - 1) / 2 - 1;
        if (count(tmp_one) == zeros + 1) {
          start = tmp_one;
        } else
          start = tmp_two;
      }
    } else {
      if (s[i] == 'L') {
        if (zeros) {
          long long int left = (total - 1) / 2;
          start = start - left + ((left - 1) / 2);
        }
      } else {
        if (s[i] == 'R') {
          if (zeros) {
            long long int right = (total - 1) / 2;
            start = start + (right - 1) / 2 + 1;
          }
        }
      }
    }
  }
  return start;
}
int main() {
  cin >> n >> q;
  for (int i = 0; i < q; ++i) {
    cin >> u >> s;
    cout << solve(u, s) << endl;
  }
  return 0;
}
