#include <bits/stdc++.h>
using namespace std;
const int N = 51;
const int SUM = 2001;
int r[N];
int dp[N][SUM];
int solveDp(string &s, int prev, int sum, int n, int k) {
  if (sum >= k) {
    return 0;
  }
  int &ret = dp[prev][sum];
  if (ret != -1) {
    return ret;
  }
  ret = 1e9;
  for (int i = 1; i <= n; ++i) {
    if (s[prev - 1] != s[i - 1] && r[prev] < r[i]) {
      ret = min(ret, solveDp(s, i, sum + r[i], n, k) + abs(i - prev));
    }
  }
  return ret;
}
void solve() {
  int n, s, k;
  scanf("%d%d%d", &n, &s, &k);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &r[i]);
  }
  string color;
  cin >> color;
  memset(dp, -1, sizeof(dp));
  int ret = 1e9;
  for (int i = 1; i <= n; ++i) {
    ret = min(ret, solveDp(color, i, r[i], n, k) + abs(s - i));
  }
  if (ret >= 1e9) {
    ret = -1;
  }
  printf("%d\n", ret);
}
int main() { solve(); }
