#include <bits/stdc++.h>
using namespace std;
const long long linf = 1e18 + 5;
const int mod = (int)1e9 + 7;
const int inf = 1e9;
long long read() {
  bool minus = false;
  long long result = 0;
  char ch;
  ch = getchar();
  while (true) {
    if (ch == '-') break;
    if (ch >= '0' && ch <= '9') break;
    ch = getchar();
  }
  if (ch == '-')
    minus = true;
  else
    result = ch - '0';
  while (true) {
    ch = getchar();
    if (ch < '0' || ch > '9') break;
    result = result * 10 + (ch - '0');
  }
  if (minus) {
    return -result;
  } else {
    return result;
  }
}
long long fpow(long long base, long long power) {
  long long result = 1;
  while (power > 0) {
    if (power % 2 == 1) result = (result * base);
    base = (base * base);
    power /= 2;
  }
  return result;
}
long long dp[101100];
map<char, char> mp;
int main() {
  string str;
  cin >> str;
  long long i, st = 0, en = -1;
  long long n = str.size();
  for (i = 0; i < n; i++)
    if (str[i] != 'a') {
      dp[i] = 1;
      dp[i] = dp[i] + dp[i - 1];
    }
  bool f = 0;
  for (i = 0; i < n; i++) {
    if (f && dp[i] == 0) {
      f = 0;
      break;
    }
    if (!f && dp[i] > 0) {
      f = 1;
      st = i;
    }
    if (f && dp[i] > 0) {
      en = i;
    }
  }
  mp['a'] = 'z';
  char ch;
  for (ch = 'b'; ch <= 'z'; ch++) {
    mp[ch] = char(ch - 1);
  }
  if (st == 0 && en == -1) {
    st = str.size() - 1;
    en = str.size() - 1;
  }
  for (i = st; i <= en; i++) {
    str[i] = mp[str[i]];
  }
  cout << str << endl;
  return 0;
}
