#include <bits/stdc++.h>
using namespace std;
int a[1234567];
int b[150];
void mak_em() {
  for (int i = 0; i < 26; i++) {
    b[i] = 0;
  }
}
bool check() {
  for (int i = 0; i < 26; i++) {
    if (b[i] >= 2) return 0;
  }
  return 1;
}
int main() {
  bool yes = false;
  string s;
  cin >> s;
  if (s.size() < 26) return cout << -1, 0;
  for (int i = 25; i < s.size(); i++) {
    mak_em();
    for (int j = i; j >= i - 25; j--) {
      b[s[j] - 'A']++;
    }
    if (check()) {
      for (int j = i - 25; j <= i; j++) {
        if (s[j] == '?') {
          for (char x = 'A'; x <= 'Z'; x++) {
            if (!b[x - 'A']) {
              s[j] = x;
              b[x - 'A']++;
              break;
            }
          }
        }
      }
      yes = true;
      break;
    }
  }
  if (yes) {
    for (int i = 0; i < s.size(); i++) {
      if (s[i] == '?') s[i] = 'A';
    }
    cout << s;
    return 0;
  }
  puts("-1");
}
