시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)41181751.515%

문제

서로 다르게 생긴 공 $N$개가 파란색(B) 또는 초록색(G)으로 칠해져 일렬로 나열되어 있다. 다음과 같은 연산을 제한 없이 수행할 수 있을 때 최종 공들의 배열로 가능한 경우의 수를 $10^9+7$로 나눈 나머지를 출력하여라.

  • 공 4개의 색이 왼쪽부터 순서대로 보았을 때 (B, G, B, G) 이거나 (G, B, G, B)인 경우, 해당 공들을 제거한다. 이때 공들이 연속해 있을 필요는 없다.

공이 하나도 제거되지 않거나, 모든 공이 제거된 경우도 하나의 경우로 센다.

입력

첫 번째 줄에 공들의 색깔을 나타내는 G와 B로 이루어진 길이 $N$인 문자열이 주어진다.

출력

첫 번째 줄에 경우의 수를 $10^9+7$로 나눈 나머지를 출력한다.

제한

  • $1\le N\le 120$

예제 입력 1

GBBGBB

예제 출력 1

5

최종 배열은 원래 순서가 $[1,2,3,4,5,6], [3,6], [3,5], [2,6], [2,5]$ 인 공이 남는 경우가 가능하며, 총 5가지 경우의 수가 존재한다.

예제 입력 2

GBGBGBGBGBGBGBGBGBGBGBGBGBGBGBGBGB

예제 출력 2

88175978

출처

Contest > BOJ User Contest > Good Bye, BOJ > Hello, BOJ 2025! E번