#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n, ex, ey, sx[N], sy[N];
char s[N];
inline bool check(int m) {
  for (int i = 1; i + m - 1 <= n; i++) {
    int decx = sx[n] - sx[i + m - 1] + sx[i - 1];
    int decy = sy[n] - sy[i + m - 1] + sy[i - 1];
    int nedx = ex - decx;
    int nedy = ey - decy;
    if (abs(nedx) + abs(nedy) <= m && !(m - abs(nedx) - abs(nedy) & 1))
      return 1;
  }
  return 0;
}
int main() {
  scanf("%d%s%d%d", &n, s + 1, &ex, &ey);
  for (int i = 1; i <= n; i++) {
    sx[i] = sx[i - 1] + (s[i] == 'L' ? -1 : (s[i] == 'R' ? 1 : 0));
    sy[i] = sy[i - 1] + (s[i] == 'D' ? -1 : (s[i] == 'U' ? 1 : 0));
  }
  int l = 0, r = n, mid, ans = -1;
  while (l <= r) {
    mid = l + r >> 1;
    if (check(mid)) {
      ans = mid;
      r = mid - 1;
    } else {
      l = mid + 1;
    }
  }
  printf("%d\n", ans);
  return 0;
}
