#include <bits/stdc++.h>
using namespace std;
const int N = 53;
const int INF = (int)1e9;
int n, s, k, ans = INF;
int f[N][2333], c[N];
char sr[N];
pair<int, int> p[N];
inline void Mi(int &a, int b) {
  if (a > b) a = b;
}
int main() {
  scanf("%d%d%d", &n, &s, &k);
  for (int i = 1; i <= n; ++i) scanf("%d", &p[i].first), p[i].second = i;
  sort(p + 1, p + 1 + n);
  scanf("%s", sr + 1);
  for (int i = 1; i <= n; ++i)
    c[i] = (sr[i] == 'R') ? 0 : (sr[i] == 'G' ? 1 : 2);
  memset(f, 0x3f, sizeof f);
  for (int i = 1; i <= n; ++i) {
    int id = p[i].second;
    f[i][p[i].first] = abs(s - id);
    for (int z = k; z < 2333; ++z) Mi(ans, f[i][z]);
    for (int j = i + 1; j <= n; ++j) {
      int nid = p[j].second;
      for (int z = 0; z < k; ++z)
        if (c[id] != c[nid] && p[i].first < p[j].first)
          Mi(f[j][z + p[j].first], f[i][z] + abs(id - nid));
    }
  }
  printf("%d\n", ans < INF ? ans : -1);
  return 0;
}
