#include <bits/stdc++.h>
using namespace std;
int main() {
  string s;
  cin >> s;
  int n = s.length();
  map<char, vector<int> > mp;
  if (n < 26)
    cout << "-1\n";
  else {
    for (int i = 0; i < n; i++) {
      mp[s[i]].push_back(i);
    }
    char c = 'a';
    int idx = 0;
    int f = 0;
    while (idx < n && c <= 'z') {
      vector<int>::iterator t1;
      int mi = INT_MAX;
      char j = c;
      while (j >= 'a') {
        t1 = lower_bound(mp[j].begin(), mp[j].end(), idx);
        if (t1 != mp[j].end()) {
          if (mi > *t1) {
            mi = *t1;
          }
        }
        --j;
      }
      if (mi == INT_MAX) {
        f = 1;
        cout << "-1\n";
        break;
      } else {
        s[mi] = c;
        if (c == 'z') break;
        idx = mi + 1;
      }
      ++c;
    }
    if (idx < n && c == 'z' && f == 0) {
      for (int i = 0; i < n; i++) {
        cout << s[i];
      }
      cout << '\n';
    } else if (f == 0 && idx >= n) {
      cout << -1 << '\n';
    }
  }
  return 0;
}
