#include <bits/stdc++.h>
using namespace std;
struct data {
  int num;
  char c;
} x[5];
char s[105];
int main() {
  scanf("%s", s);
  memset(x, 0, sizeof(x));
  for (int i = 0; i < 4; i++) x[i].c = 'A';
  for (int i = 0; i < strlen(s); i++) {
    if (s[i] == '!') {
      x[i % 4].num++;
    } else {
      x[i % 4].c = s[i];
    }
  }
  int flag = 0;
  for (int i = 0; i < 4; i++) {
    if (x[i].c == 'R') {
      printf("%d ", x[i].num);
      flag = 1;
      break;
    }
  }
  if (flag == 0) {
    for (int i = 0; i < 4; i++)
      if (x[i].c == 'A') {
        printf("%d ", x[i].num);
        flag = 1;
        break;
      }
  }
  flag = 0;
  for (int i = 0; i < 4; i++) {
    if (x[i].c == 'B') {
      printf("%d ", x[i].num);
      flag = 1;
      break;
    }
  }
  if (flag == 0) {
    for (int i = 0; i < 4; i++)
      if (x[i].c == 'A') {
        printf("%d ", x[i].num);
        flag = 1;
        break;
      }
  }
  flag = 0;
  for (int i = 0; i < 4; i++) {
    if (x[i].c == 'Y') {
      printf("%d ", x[i].num);
      flag = 1;
      break;
    }
  }
  if (flag == 0) {
    for (int i = 0; i < 4; i++)
      if (x[i].c == 'A') {
        printf("%d ", x[i].num);
        flag = 1;
        break;
      }
  }
  flag = 0;
  for (int i = 0; i < 4; i++) {
    if (x[i].c == 'G') {
      printf("%d", x[i].num);
      flag = 1;
      break;
    }
  }
  if (flag == 0) {
    for (int i = 0; i < 4; i++)
      if (x[i].c == 'A') {
        printf("%d", x[i].num);
        flag = 1;
        break;
      }
  }
  return 0;
}
