#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
int main() {
  int n;
  cin >> n;
  string s;
  cin >> s;
  map<char, int> mp;
  for (int i = 0; i < ((int)((s).size())); i++) mp[s[i]]++;
  if (n % 4)
    printf("===\n");
  else {
    int A = mp['A'];
    int C = mp['C'];
    int G = mp['G'];
    int T = mp['T'];
    int mx = max(A, max(C, max(G, T)));
    if (n % 4 == 0 && (A > n / 4 || C > n / 4 || G > n / 4 || T > n / 4))
      printf("===\n"), exit(0);
    char e[] = {'A', 'C', 'G', 'T'};
    int x = 0;
    for (int j = 0; j < 4; j++) {
      for (int i = 0; i < ((int)((s).size())); i++)
        if (s[i] == '?' && mp[e[x]] < mx) s[i] = e[x], mp[e[x]]++;
      x++;
    }
    while (s.find('?') != -1) {
      x = 0;
      for (int i = 0; i < ((int)((s).size())); i++)
        if (s[i] == '?') s[i] = e[x % 4], mp[e[x % 4]]++, x++;
    }
    cout << s << endl;
  }
  return 0;
}
