#include <bits/stdc++.h>
using namespace std;
char letra(int contador) {
  if (contador == 0) {
    return 'A';
  } else if (contador == 1) {
    return 'G';
  } else if (contador == 2) {
    return 'C';
  } else {
    return 'T';
  }
}
int main() {
  int n, preg = 0, max = -1, contador, index, relleno;
  string s;
  cin >> n;
  cin >> s;
  int hash[4];
  int aux[4];
  for (int i = 0; i < 4; i++) {
    hash[i] = 0;
  }
  for (int i = 0; i < n; i++) {
    if (s[i] == 'A') {
      hash[0]++;
    } else if (s[i] == 'G') {
      hash[1]++;
    } else if (s[i] == 'C') {
      hash[2]++;
    } else if (s[i] == 'T') {
      hash[3]++;
    } else {
      preg++;
    }
  }
  for (int i = 0; i < 4; i++) {
    if (hash[i] > max) {
      max = hash[i];
      index = i;
    }
  }
  if (hash[0] + hash[1] + hash[2] + hash[3] == 0 && preg == 4) {
    s[0] = 'A';
    s[1] = 'G';
    s[2] = 'C';
    s[3] = 'T';
    for (int i = 0; i < n; i++) {
      cout << s[i];
    }
    cout << endl;
  } else if (!((preg - (max - hash[0] + max - hash[1] + max - hash[2] + max -
                        hash[3])) %
                   4 ==
               0) ||
             (preg - (max - hash[0] + max - hash[1] + max - hash[2] + max -
                      hash[3]) <
              0)) {
    cout << "===" << endl;
  } else {
    contador = 0;
    relleno =
        preg - (max - hash[0] + max - hash[1] + max - hash[2] + max - hash[3]);
    relleno /= 4;
    aux[0] = max - hash[0];
    aux[1] = max - hash[1];
    aux[2] = max - hash[2];
    aux[3] = max - hash[3];
    aux[0] += relleno;
    aux[1] += relleno;
    aux[2] += relleno;
    aux[3] += relleno;
    for (int i = 0; i < n; i++) {
      if (s[i] == '?') {
        if (aux[contador] > 0) {
          s[i] = letra(contador);
          aux[contador] -= 1;
          if (aux[contador] == 0) contador++;
        } else {
          contador++;
          i--;
        }
      }
    }
    for (int i = 0; i < n; i++) {
      cout << s[i];
    }
    cout << endl;
  }
}
