#include <bits/stdc++.h>
using namespace std;
void initialize(vector<int> &F, int n) {
  F = vector<int>(n + 1, 0);
  for (int i = 2; i * i <= n; i++) {
    if (F[i] == 0)
      for (int k = i * i; k <= n; k += i)
        if (F[k] == 0) F[k] = i;
  }
}
int n, s, k;
string color;
vector<int> amount;
long long OO = 1e9;
int dp[55][2100];
int solve(int i, int curK) {
  if (curK >= k) return 0;
  int &ret = dp[i][curK];
  if (ret != -1) return ret;
  ret = OO;
  for (int j = 0; j < n; j++) {
    if (amount[j] > amount[i] && color[i] != color[j]) {
      ret = min(ret, solve(j, curK + amount[j]) + abs(i - j));
    }
  }
  return ret;
}
int main() {
  cin.tie(0);
  cin.sync_with_stdio(0);
  memset((dp), (-1), sizeof(dp));
  cin >> n >> s >> k;
  s--;
  amount = vector<int>(n);
  for (int i = 0; i < n; i++) cin >> amount[i];
  cin >> color;
  int ans = OO;
  for (int i = 0; i < n; i++) {
    ans = min(ans, solve(i, amount[i]) + abs(i - s));
  }
  if (ans == OO)
    cout << "-1";
  else
    cout << ans;
}
