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

Задача . B. Сломанная гирлянда


Ничто не вечно в этом мире, понял Костя утром 7-го января, увидев частично перегоревшую четырехцветную гирлянду. Он сразу задался целью заменить сломанные лампочки, однако он не знает сколько лампочек каждого цвета требуется. Гарантируется, что для каждого из четырех цветов хотя бы одна лампочка осталась рабочей.

Известно, что гирлянда состоит из лампочек четырёх цветов: красного, синего, жёлтого и зелёного. Гирлянда сделана следующим образом: если вы возьмёте четыре любые подряд идущие лампочки, то среди них нет лампочек одинакового цвета. Например, гирлянда может иметь вид «RYBGRYBGRY», «YBGRYBGRYBG», «BGRYB», но не может «BGRYG», «YBGRYBYGR» или «BGYBGY». Буквы обозначают цвета: 'R' — красный, 'B' — синий, 'Y' — жёлтый, 'G' — зелёный.

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

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

В первой и единственной строке входных данных содержится строка s (4 ≤ |s| ≤ 100), описывающая гирлянду, i-й символ которой описывает цвет i-й по порядку от начала гирлянды лампочки:

  • 'R' — лампочка горит красным,
  • 'B' — лампочка горит синим,
  • 'Y' — лампочка горит жёлтым,
  • 'G' — лампочка горит зелёным,
  • '!' — лампочка перегорела.

Других символов, кроме описанных пяти, строка s содержать не может.

Гарантируется, что в заданной строке присутствует хотя бы раз каждая из четырех букв 'R', 'B', 'Y' и 'G'.

Гарантируется, что строка s представляет собой корректную гирлянду с некоторыми перегоревшими лампочками, то есть например строка «GRBY!!!B» не может находится во входных данных.

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

В единственную строку выходных данных выведите четыре целых числа kr, kb, ky, kg — количество перегоревших лампочек красного, синего, жёлтого и зелёного цветов соответственно.

Примечание

В первом тесте из примеров нет перегоревших лампочек.

Во втором примере очевидно, что перегорела одна синяя лампочка, так как лампочки другого цвета на её месте не могло быть по условию.


Примеры
Входные данныеВыходные данные
1 RYBGRYBGR
0 0 0 0
2 !RGYB
0 1 0 0
3 !!!!YGRB
1 1 1 1
4 !GB!RG!Y!
2 1 1 0

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

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