#include <bits/stdc++.h>
using namespace std;
const int MAXM = 2e5 + 5;
long long a[MAXM];
int main() {
  int n, i, j, k;
  string s;
  cin >> n >> s;
  int cn = 0, a = 0, g = 0, c = 0, t = 0;
  for (i = 0; i < n; i++) {
    if (s[i] == '?')
      cn++;
    else if (s[i] == 'A')
      a++;
    else if (s[i] == 'G')
      g++;
    else if (s[i] == 'C')
      c++;
    else
      t++;
  }
  int maxm = 0;
  maxm = max(maxm, max(a, max(g, max(c, t))));
  int ra = maxm - a;
  int rg = maxm - g;
  int rt = maxm - t;
  int rc = maxm - c;
  int p = 0;
  p += maxm - a;
  p += maxm - g;
  p += maxm - c;
  p += maxm - t;
  cn -= p;
  if (cn < 0) {
    cout << "===\n";
    return 0;
  }
  if (cn % 4 == 0) {
    int pp = 0;
    for (i = 0; i < n; i++) {
      if (s[i] != '?') continue;
      if (ra) {
        s[i] = 'A';
        ra--;
      } else if (rg) {
        rg--;
        s[i] = 'G';
      } else if (rt) {
        rt--;
        s[i] = 'T';
      } else if (rc) {
        rc--;
        s[i] = 'C';
      } else {
        if (pp == 0)
          s[i] = 'A', pp++;
        else if (pp == 1)
          s[i] = 'G', pp++;
        else if (pp == 2)
          s[i] = 'T', pp++;
        else if (pp == 3)
          s[i] = 'C', pp = 0;
      }
    }
    cout << s << endl;
  } else {
    cout << "===\n";
    return 0;
  }
  return 0;
}
