#include <bits/stdc++.h>
using namespace std;
void __dbg() { cout << endl; }
template <typename Arg, typename... Args>
void __dbg(Arg A, Args... B) {
  cout << ' ' << A;
  __dbg(B...);
}
using ll = long long;
using vi = vector<int>;
using vl = vector<ll>;
const int inf = INT_MAX;
const int ninf = INT_MIN;
const int mod = 1e9 + 7;
const int maxN = 1e6 + 2;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  int max_dist = 0;
  for (char c : s) {
    max_dist += max((int)c - 'a', 'z' - (int)c);
  }
  if (k > max_dist) {
    puts("-1");
    exit(0);
  }
  string t = string(n, '#');
  for (int i = 0; i < (int)n; i++) {
    char c = s[i];
    int max_offer = max((int)c - 'a', 'z' - (int)c);
    if (k >= max_offer) {
      if ((int)c - 'a' == max_offer)
        t[i] = 'a';
      else
        t[i] = 'z';
      k -= max_offer;
    } else {
      int val = (int)(c - 'a') - k;
      if (val >= 0) {
        t[i] = (char)val + 'a';
      } else {
        val = (int)(c - 'a') + k;
        t[i] = (char)val + 'a';
      }
      k = 0;
    }
  }
  cout << t << '\n';
  return 0;
}
