#include <bits/stdc++.h>
using namespace std;
int n;
char ch;
int x, y;
int dx[200001], dy[200001];
int ans;
bool check(int ans) {
  if (ans > n) return true;
  int i, iend = n - ans + 1;
  for (i = 1; i <= iend; i++) {
    int vx = dx[i - 1] + dx[n] - dx[i + ans - 1];
    int vy = dy[i - 1] + dy[n] - dy[i + ans - 1];
    if (abs(x - vx) + abs(y - vy) <= ans &&
        !((abs(x - vx) + abs(y - vy)) & 1) ^ (ans & 1))
      return true;
  }
  return false;
}
int main() {
  cin >> n;
  int i;
  for (i = 1; i <= n; i++) {
    cin >> ch;
    dx[i] = dx[i - 1];
    dy[i] = dy[i - 1];
    switch (ch) {
      case 'U':
        ++dy[i];
        break;
      case 'D':
        --dy[i];
        break;
      case 'L':
        --dx[i];
        break;
      case 'R':
        ++dx[i];
        break;
    }
  }
  cin >> x >> y;
  if (n < abs(x) + abs(y) || (n & 1) ^ ((abs(x) + abs(y)) & 1)) {
    cout << -1 << endl;
    return 0;
  }
  if (dx[n] == x && dy[n] == y) {
    cout << 0 << endl;
    return 0;
  }
  for (i = 20; i >= 0; i--)
    if (!check(ans | (1 << i))) ans |= 1 << i;
  cout << ans + 1 << endl;
  return 0;
}
