#include <bits/stdc++.h>
using namespace std;
string s;
int n, cnt[60], have, r = 1;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie();
  cout.tie();
  cin >> s;
  n = s.size();
  s = ' ' + s;
  for (int i = (1); i <= (n); ++i) {
    while (r <= n && have < 26) {
      if (s[r] == '?')
        ++have;
      else {
        int temp = s[r] - 'A';
        if (!cnt[temp]) ++have;
        ++cnt[temp];
      }
      ++r;
    }
    if (have == 26 && r - i == 26) {
      int q[50], top = 0;
      for (int j = (0); j <= (25); ++j)
        if (!cnt[j]) q[++top] = j;
      for (int j = (1); j <= (i - 1); ++j)
        if (s[j] == '?')
          cout << 'A';
        else
          cout << s[j];
      for (int j = (i); j <= (min(r, n)); ++j)
        if (s[j] == '?') {
          if (top)
            cout << (char)('A' + q[top--]);
          else
            cout << 'A';
        } else
          cout << s[j];
      for (int j = (r + 1); j <= (n); ++j)
        if (s[j] == '?')
          cout << 'A';
        else
          cout << s[j];
      return 0;
    }
    if (s[i] == '?')
      --have;
    else {
      int temp = s[i] - 'A';
      --cnt[temp];
      if (!cnt[temp]) --have;
    }
  }
  cout << -1;
}
