#include <bits/stdc++.h>
using namespace std;
void sortSmall(int arr[], int size) {
  while (size--) {
    for (int i = 0; i < size; i++) {
      if (arr[i] > arr[i + 1]) {
        int temp = arr[i];
        arr[i] = arr[i + 1];
        arr[i + 1] = temp;
      }
    }
  }
}
void sortBig(int arr[], int size) {
  while (size--) {
    for (int i = 0; i < size; i++) {
      if (arr[i] < arr[i + 1]) {
        int temp = arr[i];
        arr[i] = arr[i + 1];
        arr[i + 1] = temp;
      }
    }
  }
}
int min(int arr[], int size) {
  int mini = 1000000000;
  for (int i = 0; i < size; i++) {
    if (arr[i] < mini) mini = arr[i];
  }
  return mini;
}
int maxi(int arr[], int size) {
  int mini = 0;
  for (int i = 0; i < size; i++) {
    if (arr[i] > mini) mini = arr[i];
  }
  return mini;
}
int main() {
  int x;
  cin >> x;
  string word;
  cin >> word;
  int counterA = 0, counterG = 0, counterT = 0, counterC = 0, counter = 0;
  for (int i = 0; i < x; i++) {
    if (word[i] == 'A') counterA++;
    if (word[i] == 'C') counterC++;
    if (word[i] == 'G') counterG++;
    if (word[i] == 'T') counterT++;
    if (word[i] == '?') counter++;
  }
  if (x % 4 != 0) {
    cout << "===" << endl;
    return 0;
  }
  if (counterA > (x / 4) || counterC > (x / 4) || counterG > (x / 4) ||
      counterT > (x / 4)) {
    cout << "===";
    return 0;
  }
  if (counter == 0) {
    if (counterA == counterC && counterC == counterG && counterG == counterT) {
      cout << word;
    } else {
      cout << "===";
      return 0;
    }
  } else {
    for (int i = 0; i < x; i++) {
      if (word[i] == '?') {
        if (counterA < (x / 4)) {
          counterA++;
          cout << 'A';
        } else if (counterC < (x / 4)) {
          counterC++;
          cout << 'C';
        } else if (counterG < (x / 4)) {
          counterG++;
          cout << 'G';
        } else {
          counterT++;
          cout << 'T';
        }
      } else {
        cout << word[i];
      }
    }
  }
  cout << endl;
}
