#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
const int MAXA = 26;
char str[MAXN];
int l;
bool dp[MAXN][MAXA + 1];
bool was[MAXN][MAXA + 1];
bool func(int x, int a) {
  if (a >= MAXA) {
    return true;
  }
  if (x >= l) {
    return false;
  }
  if (was[x][a]) {
    return dp[x][a];
  }
  was[x][a] = true;
  dp[x][a] = false;
  if (str[x] - 'a' <= a) {
    if (func(x + 1, a + 1)) {
      str[x] = 'a' + a;
      return dp[x][a] = true;
    }
  }
  return dp[x][a] = func(x + 1, a);
}
int main() {
  scanf("%s", str);
  l = strlen(str);
  if (func(0, 0)) {
    printf("%s", str);
    return 0;
  }
  printf("-1");
  return 0;
}
