#include <bits/stdc++.h>
using namespace std;
const int maxn = 100009;
int ans[maxn];
int m, n;
int st, ed;
char str[maxn];
bool flag[509][509];
int getx(char c) {
  if (c == 'U') return -1;
  if (c == 'D') return 1;
  return 0;
}
int gety(char c) {
  if (c == 'L') return -1;
  if (c == 'R') return 1;
  return 0;
}
int main() {
  cin >> n >> m >> st >> ed;
  scanf("%s", str + 1);
  int len = strlen(str + 1);
  memset(ans, 0, sizeof(ans));
  memset(flag, true, sizeof(flag));
  flag[st][ed] = false;
  int sum = m * n - 1;
  int step = 0;
  ans[0] = 1;
  int tx = st;
  int ty = ed;
  for (int i = 1; i <= len; i++) {
    step++;
    if (tx + getx(str[i]) >= 1 && tx + getx(str[i]) <= n) tx += getx(str[i]);
    if (ty + gety(str[i]) >= 1 && ty + gety(str[i]) <= m) ty += gety(str[i]);
    if (flag[tx][ty]) {
      flag[tx][ty] = false;
      ans[step]++;
      sum--;
    }
  }
  ans[len] += sum;
  for (int i = 0; i <= len; i++) {
    printf("%d", ans[i]);
    if (i == len)
      putchar('\n');
    else
      putchar(' ');
  }
  return 0;
}
