#include <bits/stdc++.h>
using namespace std;
void Mo35();
int n, s, k;
int candy[55], dp[55][5005];
string color;
int minSec(int idx, int rem) {
  if (rem <= 0) return 0;
  int &ret = dp[idx][rem];
  if (~ret) return ret;
  ret = 2e9;
  for (int i = 0; i < n; ++i)
    if (!(i == idx || candy[i] <= candy[idx] || color[i] == color[idx])) {
      ret = min(ret, abs(idx - i) + minSec(i, rem - candy[i]));
    }
  return ret;
}
void test() {
  cin >> n >> s >> k;
  s--;
  for (int i = 0; i < n; ++i) cin >> candy[i];
  cin >> color;
  memset(dp, -1, sizeof(dp));
  int ans = 2e9;
  for (int i = 0; i < n; ++i)
    ans = min(ans, abs(i - s) + minSec(i, k - candy[i]));
  cout << (ans >= (2e9) ? -1 : ans);
}
int main() {
  Mo35();
  int cases = 1;
  while (cases--) {
    test();
  }
  return 0;
}
void Mo35() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
}
