#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;   }   