#include <bits/stdc++.h>
using namespace std;
long long int dp[200002];
bool istrue[200002];
long long int k = 0;
void optimum(vector<long long int> a, long long int ind, long long int n) {
  long long int sum = 0;
  for (long long int j = ind; j < n; j++) {
    if (a[j] - a[ind] == j - ind) {
      sum += a[j];
      istrue[j] = true;
    }
  }
  dp[k] = sum;
  k += 1;
}
int main() {
  long long int n, cnt = 0;
  cin >> n;
  string s;
  cin >> s;
  if (n == 1) {
    cout << 0 << endl;
    cout << s << endl;
    return 0;
  } else if (n == 2) {
    int i = 0;
    if (s[1] == s[0]) {
      if (s[i] == 'R') {
        s[i] = 'G';
      } else if (s[i] == 'G') {
        s[i] = 'B';
      } else if (s[i] == 'B') {
        s[i] = 'R';
      }
      cout << 1 << endl;
      cout << s << endl;
      return 0;
    }
  }
  for (long long int i = 1; i < n - 1; i++) {
    if (s[i + 1] == s[i] && s[i] == s[i - 1]) {
      if (s[i] == 'R') {
        s[i] = 'G';
      } else if (s[i] == 'G') {
        s[i] = 'B';
      } else if (s[i] == 'B') {
        s[i] = 'R';
      }
      cnt += 1;
      continue;
    } else if (s[i + 1] == s[i] || s[i - 1] == s[i]) {
      if (i + 2 < n && s[i + 2] == s[i]) {
        continue;
      }
      if (s[i + 1] == 'R' && s[i - 1] == 'B') {
        s[i] = 'G';
      } else if (s[i + 1] == 'R' && s[i - 1] == 'G') {
        s[i] = 'B';
      } else if (s[i + 1] == 'G' && s[i - 1] == 'B') {
        s[i] = 'R';
      } else if (s[i + 1] == 'G' && s[i - 1] == 'R') {
        s[i] = 'B';
      } else if (s[i + 1] == 'B' && s[i - 1] == 'G') {
        s[i] = 'R';
      } else if (s[i + 1] == 'B' && s[i - 1] == 'R') {
        s[i] = 'G';
      }
      cnt += 1;
      continue;
    }
  }
  cout << cnt << endl;
  cout << s << endl;
}
