#include <bits/stdc++.h>
using namespace std;
char str[100011];
int l;
int ant[30];
bool flag;
int main() {
  scanf("%s", str);
  l = strlen(str);
  if (l < 26) {
    printf("-1\n");
    return 0;
  }
  bool ans = false;
  for (int i = 0; i < l - 25; i++) {
    memset(ant, 0, sizeof(ant));
    flag = true;
    for (int j = i; j < i + 26; j++) {
      if (str[j] == '?') continue;
      ant[str[j] - 'A']++;
      if (ant[str[j] - 'A'] >= 2) {
        flag = false;
        break;
      }
    }
    if (flag) {
      ans = true;
      for (int j = i; j < i + 26; j++) {
        if (str[j] == '?') {
          for (int k = 0; k < 26; k++) {
            if (ant[k] == 0) {
              ant[k] = 1;
              str[j] = 'A' + k;
              break;
            }
          }
        }
      }
      if (ans) break;
    }
  }
  if (ans) {
    for (int i = 0; i < l; i++)
      if (str[i] == '?') str[i] = 'A';
    printf("%s\n", str);
  } else
    puts("-1");
  return 0;
}
