#include <bits/stdc++.h>
struct {
  char c;
  int n;
} a[4];
int main() {
  a[0].c = 'A';
  a[1].c = 'C';
  a[2].c = 'T';
  a[3].c = 'G';
  char s[260];
  int n, count[4] = {0}, i, j = 0;
  scanf("%d%s", &n, s);
  if (n % 4)
    printf("===\n");
  else {
    for (i = 0; i < n; i++) {
      if (s[i] == 'A')
        count[0]++;
      else if (s[i] == 'C')
        count[1]++;
      else if (s[i] == 'T')
        count[2]++;
      else if (s[i] == 'G')
        count[3]++;
    }
    for (i = 0; i < 4; i++) {
      a[i].n = n / 4 - count[i];
      if (a[i].n < 0) break;
    }
    if (i != 4)
      printf("===\n");
    else {
      for (i = 0; i < n; i++) {
        if (s[i] == '?') {
          while (a[j].n == 0) j++;
          printf("%c", a[j].c);
          a[j].n--;
        } else
          printf("%c", s[i]);
      }
    }
  }
  return 0;
}
