#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 10;
int s[N], ans[N];
char d[N];
int main() {
  ios_base::sync_with_stdio(false);
  int n, m;
  long long t;
  cin >> n >> m >> t;
  for (int _n(n), i(0); i < _n; i++) {
    cin >> s[i] >> d[i];
    --s[i];
  }
  long long nc = 0;
  vector<int> p;
  for (int _n(n), i(0); i < _n; i++) {
    int dir = d[i] == 'L' ? -1 : 1;
    long long pos = s[i] + dir * t;
    long long fp = (pos % m + m) % m;
    long long g = pos > 0 ? pos / m : (pos - m + 1) / m;
    nc += g;
    p.push_back((int)fp);
  }
  nc = (nc % n + n) % n;
  sort((p).begin(), (p).end());
  vector<pair<int, int> > o(n);
  for (int _n(n), i(0); i < _n; i++) o[i] = make_pair(s[i], i);
  sort((o).begin(), (o).end());
  for (int _n(n), i(0); i < _n; i++) ans[o[i].second] = p[(i + nc) % n];
  for (int _n(n), i(0); i < _n; i++) cout << ans[i] + 1 << " \n"[i + 1 == n];
  return 0;
}
