#include <bits/stdc++.h>
using namespace std;
const int N3 = 1e3 + 15;
const int N4 = 1e4 + 15;
const int N5 = 1e5 + 15;
const int N6 = 1e6 + 15;
const int N7 = 1e7 + 15;
const int N8 = 1e8 + 15;
const int N9 = 1e9 + 15;
int n, need, A, G, C, T, vopr;
string s;
map<int, int> mp;
void lol() {
  cout << "===";
  exit(0);
}
int main() {
  cin >> n;
  cin >> s;
  if (n % 4 != 0) lol();
  need = n / 4;
  for (int i = 0; i < n; ++i) mp[s[i]]++;
  A = need - mp['A'];
  G = need - mp['G'];
  C = need - mp['C'];
  T = need - mp['T'];
  vopr = mp['?'];
  if ((vopr == 0 && (A != 0 || G != 0 || C != 0 || T < 0)) ||
      (A < 0 || G < 0 || C < 0 || T < 0))
    lol();
  for (int i = 0; i < n; ++i) {
    if (s[i] == '?') {
      if (A > 0) {
        --A;
        s[i] = 'A';
      } else if (G > 0) {
        --G;
        s[i] = 'G';
      } else if (C > 0) {
        --C;
        s[i] = 'C';
      } else if (T > 0) {
        --T;
        s[i] = 'T';
      }
    }
  }
  cout << s;
  return 0;
}
