Олимпиадный тренинг

Задача . D. Разнообразная гирлянда


У вас есть гирлянда, состоящая из \(n\) ламп. Каждая лампа — красная, зеленая или синяя. Цвет \(i\)-й лампы равен \(s_i\) ('R', 'G' и 'B' — цвета ламп в гирлянде).

Вы хотите перекрасить некоторые лампы в этой гирлянде (перекрашивание лампы означает изменение ее изначального цвета на другой) таким образом, чтобы получившаяся гирлянда стала разнообразной.

Гирлянда называется разнообразной, если любые ее две соседние (последовательные) лампы (то есть такие лампы, что расстояние между их позициями равно \(1\)) имеют различные цвета.

Другими словами, если получилась гирлянда \(t\), то для всех \(i\) от \(1\) до \(n-1\) должно выполняться условие \(t_i \ne t_{i + 1}\).

Среди всех способов перекрасить изначальную гирлянду в разнообразную вы должны выбрать тот, в котором количество перекрашенных ламп минимально. Если существует несколько оптимальных решений, выведите любое из них.

Входные данные

Первая строка входных данных содержит одно целое число \(n\) (\(1 \le n \le 2 \cdot 10^5\)) — количество ламп.

Вторая строка входных данных содержит строку \(s\), состоящую из \(n\) символов 'R', 'G' и 'B' — цвета ламп в гирлянде.

Выходные данные

В первой строке выходных данных выведите одно целое число \(r\)минимальное количество перекрашиваний, необходимых для того, чтобы получить разнообразную гирлянду из заданной.

Во второй строке выходных данных выведите одну строку \(t\) длины \(n\)разнообразную гирлянду, полученную из изначальной за минимальное количество перекрашиваний. Если существует несколько оптимальных решений, выведите любое из них.


Примеры
Входные данныеВыходные данные
1 9
RBGRRBRGG
2
RBGRGBRGR
2 8
BBBGBRRR
2
BRBGBRGR
3 13
BBRRRRGGGGGRR
6
BGRBRBGBGBGRG

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя