#include <bits/stdc++.h>
using namespace std;
const int N = (1e6 + 12);
const int mod = (1e9 + 7);
const int INF = (0x3f3f3f3f);
void solve() {
  string s;
  cin >> s;
  s = "." + s + "?";
  bool f = true;
  for (int j = 1; j < s.size() - 1; j++) {
    if (s[j] == s[j - 1] && s[j] != '?') {
      f = false;
      break;
    }
  }
  if (f) {
    if (s[1] == '?') {
      if (s[2] != '?') {
        if (s[2] == 'c') {
          s[1] = 'a';
        } else if (s[2] == 'b') {
          s[1] = 'a';
        } else {
          s[1] = 'b';
        }
      } else {
        s[1] = 'a';
      }
    }
    for (int i = 2; i < s.size() - 1; i++) {
      if (s[i] == '?') {
        if (s[i + 1] == '?') {
          if (s[i - 1] == 'c') {
            s[i] = 'a';
          } else if (s[i - 1] == 'b') {
            s[i] = 'a';
          } else {
            s[i] = 'b';
          }
        } else {
          if (s[i - 1] == 'c' && s[i + 1] == 'a') {
            s[i] = 'b';
          } else if (s[i - 1] == 'c' && s[i + 1] == 'b') {
            s[i] = 'a';
          } else if (s[i - 1] == 'b' && s[i + 1] == 'c') {
            s[i] = 'a';
          } else if (s[i - 1] == 'b' && s[i + 1] == 'a') {
            s[i] = 'c';
          } else if (s[i - 1] == 'a' && s[i + 1] == 'b') {
            s[i] = 'c';
          } else if (s[i - 1] == 'a' && s[i + 1] == 'c') {
            s[i] = 'b';
          } else if (s[i - 1] == 'c' && s[i + 1] == 'c') {
            s[i] = 'b';
          } else if (s[i - 1] == 'b' && s[i + 1] == 'b') {
            s[i] = 'a';
          } else if (s[i - 1] == 'a' && s[i + 1] == 'a') {
            s[i] = 'b';
          }
        }
      }
    }
    for (int i = 1; i < s.size() - 1; i++) {
      cout << s[i];
    }
    cout << endl;
  } else {
    cout << -1 << endl;
  }
}
int main() {
  int t;
  cin >> t;
  while (t--) {
    solve();
  }
}
