#include <bits/stdc++.h>
using namespace std;
int n;
string s;
map<char, int> mp;
void gg() {
  cout << "===";
  exit(0);
}
int main() {
  cin >> n;
  cin >> s;
  if (n % 4 != 0) gg();
  for (int i = 0; i < s.size(); ++i) ++mp[s[i]];
  if (max(mp['A'], max(mp['C'], max(mp['G'], mp['T']))) > n / 4) gg();
  int ndA = n / 4 - mp['A'], ndG = n / 4 - mp['G'], ndC = n / 4 - mp['C'],
      ndT = n / 4 - mp['T'];
  if (ndA + ndG + ndC + ndT != mp['?']) gg();
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] == '?') {
      if (ndA > 0) {
        --ndA;
        s[i] = 'A';
        continue;
      }
      if (ndG > 0) {
        --ndG;
        s[i] = 'G';
        continue;
      }
      if (ndC > 0) {
        --ndC;
        s[i] = 'C';
        continue;
      }
      if (ndT > 0) {
        --ndT;
        s[i] = 'T';
        continue;
      }
    }
  }
  cout << s;
}
