#include <bits/stdc++.h>
using namespace std;
int dp[52][2050];
int c[52];
char col[52];
int n, s, k;
int rec(int cur, int rem) {
  if (dp[cur][rem] != -1) return dp[cur][rem];
  int newrem = rem - c[cur];
  if (newrem <= 0) return (dp[cur][rem] = 0);
  dp[cur][rem] = 1e6;
  for (int i = 0; i < n; i++) {
    if (c[i] <= c[cur] || col[i] == col[cur]) continue;
    dp[cur][rem] = min(dp[cur][rem], rec(i, newrem) + abs(i - cur));
  }
  return dp[cur][rem];
}
int main() {
  cin >> n >> s >> k;
  s--;
  for (int i = 0; i < n; i++) {
    cin >> c[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> col[i];
  }
  for (int i = 0; i <= n; i++) {
    for (int l = 0; l <= 2000; l++) {
      dp[i][l] = -1;
    }
  }
  int best = 1e9;
  for (int i = 0; i < n; i++) {
    best = min(best, rec(i, k) + abs(s - i));
  }
  if (best > 1e5)
    cout << -1 << endl;
  else
    cout << best << endl;
}
