#include <bits/stdc++.h>
using namespace std;
const char mat[] = "AGCT";
int n, m;
int go(vector<string> &lis, int n, int m, char ch1, char ch2,
       vector<string> &ret) {
  vector<char> mm[2];
  mm[0] = {ch1, ch2};
  for (int(i) = (0); (i) <= ((4) - 1); (i)++)
    if (mat[i] != mm[0][0] && mat[i] != mm[0][1]) mm[1].emplace_back(mat[i]);
  int res = 0;
  for (int(i) = (0); (i) <= ((n)-1); (i)++) {
    int now[2] = {};
    for (int(j) = (0); (j) <= ((m)-1); (j)++)
      if (lis[i][j] != mm[i & 1][j & 1]) now[0]++;
    for (int(j) = (0); (j) <= ((m)-1); (j)++)
      if (lis[i][j] != mm[i & 1][j & 1 ^ 1]) now[1]++;
    if (now[0] < now[1]) {
      for (int(j) = (0); (j) <= ((m)-1); (j)++) ret[i][j] = mm[i & 1][j & 1];
      res += now[0];
    } else {
      for (int(j) = (0); (j) <= ((m)-1); (j)++)
        ret[i][j] = mm[i & 1][j & 1 ^ 1];
      res += now[1];
    }
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  cin >> n >> m;
  vector<string> lis(n);
  for (int(i) = (0); (i) <= ((n)-1); (i)++) cin >> lis[i];
  int res = n * m;
  vector<string> ans;
  bool rev = false;
  for (int(i) = (0); (i) <= ((4) - 1); (i)++)
    for (int(j) = (i + 1); (j) <= (3); (j)++) {
      vector<string> tmp(n, string(m, '\0'));
      int cur = go(lis, n, m, mat[i], mat[j], tmp);
      if (cur < res) {
        ans = tmp;
        res = cur;
      }
    }
  vector<string> lis2(m);
  for (int(i) = (0); (i) <= ((m)-1); (i)++)
    for (int(j) = (0); (j) <= ((n)-1); (j)++) lis2[i] += lis[j][i];
  for (int(i) = (0); (i) <= ((4) - 1); (i)++)
    for (int(j) = (i + 1); (j) <= (3); (j)++) {
      vector<string> tmp(m, string(n, '\0'));
      int cur = go(lis2, m, n, mat[i], mat[j], tmp);
      if (cur < res) {
        ans = tmp;
        rev = true;
        res = cur;
      }
    }
  if (rev) {
    for (int(i) = (0); (i) <= ((n)-1); (i)++) {
      for (int(j) = (0); (j) <= ((m)-1); (j)++) cout << ans[j][i];
      cout << '\n';
    }
  } else {
    for (int(i) = (0); (i) <= ((n)-1); (i)++) cout << ans[i] << '\n';
  }
}
