#include <bits/stdc++.h>
using namespace std;
int a[5] = {0};
string s;
int value(int x) {
  switch (s[x]) {
    case 'A':
      return 0;
    case 'G':
      return 1;
    case 'T':
      return 2;
    case 'C':
      return 3;
    case '?':
      return 4;
  }
}
char val(int temp) {
  switch (temp) {
    case 0:
      return 'A';
    case 1:
      return 'G';
    case 2:
      return 'T';
    case 3:
      return 'C';
  }
}
int main() {
  int n;
  cin >> n;
  cin >> s;
  for (int i = 0; i < n; i++) {
    a[value(i)]++;
  }
  int max = -1;
  for (int i = 0; i < 4; i++) {
    if (a[i] > max) max = a[i];
  }
  int sum = 0;
  for (int i = 0; i < 4; i++) {
    sum += max - a[i];
  }
  int temp = 0;
  if ((a[4] - sum) % 4 != 0 || a[4] - sum < 0) {
    cout << "===";
    return 0;
  } else {
    max += (a[4] - sum) / 4;
    for (int i = 0; i < n; i++) {
      if (s[i] != '?') {
        cout << s[i];
      } else {
      here:
        if (max > a[temp]) {
          cout << val(temp);
          a[temp]++;
        } else {
          temp++;
          goto here;
        }
      }
    }
  }
  return 0;
}
