#include <bits/stdc++.h>
using namespace std;
string s;
int dp[100000 + 5][35];
char nex[100000 + 5];
int rekur(int now, int cur) {
  if (now == s.size()) {
    if (cur >= 26)
      return 0;
    else
      return 1000000000 / 10;
  }
  int &ret = dp[now][cur];
  if (ret != 1000000000) return ret;
  ret = min(ret, rekur(now + 1, cur));
  nex[now] = s[now];
  if (cur < 26 and s[now] - 'a' >= 0) {
    if (ret > rekur(now + 1, cur + 1) + s[now] - 'a') {
      ret = rekur(now + 1, cur + 1) + s[now] - 'a';
      nex[now] = 'a' + cur;
    }
  }
  return ret;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> s;
  for (int i = 0; i <= s.size(); i++) {
    for (int j = 0; j <= 26; j++) {
      dp[i][j] = 1000000000;
    }
  }
  char now = 'a';
  for (int i = 0; i < s.size(); i++) {
    if (s[i] <= now) {
      s[i] = now;
      now++;
    }
    if (now > 'z') break;
  }
  if (now <= 'z')
    cout << -1 << endl;
  else
    cout << s << endl;
}
