#include <bits/stdc++.h>
using namespace std;
int main() {
  int trash;
  cin >> trash;
  string s;
  cin >> s;
  int count[5] = {0};
  for (int i = 0; i < s.length(); i++) {
    switch (s[i]) {
      case 'A': {
        count[0]++;
        break;
      }
      case 'C': {
        count[1]++;
        break;
      }
      case 'G': {
        count[2]++;
        break;
      }
      case 'T': {
        count[3]++;
        break;
      }
      case '?': {
        count[4]++;
        break;
      }
    }
  }
  int maxim = 0;
  for (int i = 0; i < 4; i++) {
    maxim = max(maxim, count[i]);
  }
  int total_non_question = trash - count[4];
  int needed_for_equality = 0;
  for (int i = 0; i < 4; i++) {
    count[i] = maxim - count[i];
    needed_for_equality += count[i];
  }
  char legend[4];
  legend[0] = 'A';
  legend[1] = 'C';
  legend[2] = 'G';
  legend[3] = 'T';
  if ((count[4] - needed_for_equality) >= 0 &&
      (count[4] - needed_for_equality) % 4 == 0) {
    long long int indexOfWord = 0;
    int indexForCount = 0;
    while (needed_for_equality > 0 && count[indexForCount] <= 0) {
      indexForCount++;
    }
    int alternate = 0;
    for (int i = 0; i < s.length(); i++) {
      if (s[i] == '?') {
        if (needed_for_equality > 0) {
          while (count[indexForCount] <= 0) indexForCount++;
          s[i] = legend[indexForCount];
          count[indexForCount]--;
          needed_for_equality--;
        } else {
          s[i] = legend[alternate % 4];
          alternate++;
        }
      }
    }
    cout << s << endl;
  } else {
    cout << "===" << endl;
  }
  return 0;
}
