#include <bits/stdc++.h>
using namespace std;
long long n, s, k;
string u;
long long r[60], dp[2501][60];
signed main() {
  cin >> n >> s >> k;
  for (long long i = 0; i < n; ++i) cin >> r[i];
  cin >> u;
  for (long long i = 0; i < n; ++i)
    for (long long j = 0; j < n; ++j) dp[i][j] = -1e18;
  --s;
  dp[0][s] = r[s];
  for (long long i = 0; i < s; ++i) dp[s - i][i] = r[i];
  for (long long i = s + 1; i < n; ++i) dp[i - s][i] = r[i];
  for (long long i = 1; i <= 2500; ++i)
    for (long long j = 0; j < n; ++j)
      for (long long t = 1; t <= i; ++t) {
        if (j - t >= 0 && u[j - t] != u[j] && r[j - t] < r[j])
          dp[i][j] = max(dp[i][j], dp[i - t][j - t] + r[j]);
        if (j + t < n && u[j + t] != u[j] && r[j + t] < r[j])
          dp[i][j] = max(dp[i][j], dp[i - t][j + t] + r[j]);
      }
  for (long long i = 0; i < 2501; ++i)
    for (long long j = 0; j < n; ++j)
      if (dp[i][j] >= k) return cout << i, 0;
  cout << -1;
}
