#include <bits/stdc++.h>
using namespace std;
bool grid[505][505];
char str[100005];
int x, y, xi, yi, n, s, xo, yo;
bool walk(char c) {
  bool flag = false;
  switch (c) {
    case 'R':
      if (yi < y) ++yi;
      break;
    case 'U':
      if (xi > 1) --xi;
      break;
    case 'D':
      if (xi < x) ++xi;
      break;
    case 'L':
      if (yi > 1) --yi;
      break;
  }
  if (grid[xi][yi] == 0) {
    flag = true;
    --s;
  }
  grid[xi][yi] = 1;
  return flag;
}
int main() {
  memset(grid, 0, sizeof(bool) * 505 * 505);
  scanf("%d%d%d%d", &x, &y, &xo, &yo);
  scanf("%s", str);
  n = strlen(str);
  s = x * y;
  xi = xo;
  yi = yo;
  --s;
  grid[xo][yo] = 1;
  printf("1 ");
  for (int i = 0; i < n - 1; ++i) {
    printf("%d ", walk(str[i]));
  }
  if (walk(str[n - 1]))
    printf("%d\n", s + 1);
  else
    printf("%d\n", s);
  return 0;
}
