바위와 연못으로 이루어진 원형 문자열이 주어질 때, 어떤 바위에서 시작해 K칸씩 점프하는 동안 바위만 밟게 되는 K의 개수를 센다.
어려움8정수론수학문자열구현아직 제출이 없습니다시간 제한1초메모리 제한1024 MB개구리 폭은 닐로고니아에서 열리는 세계 개구리 점프 대회에 나가려고 한다. 대회에서 각 개구리는 따로 만든 경기장에서 곡예 점프를 연달아 해내야 한다. 경기장은 원둘레를 따라 같은 간격으로 놓인 N개의 자리로 이루어지고, 이웃한 두 자리 사이의 호 길이는 모두 같다. 각 자리는 바위이거나 연못이다. 자리에는 시계 방향으로 0번부터 N−1번까지 번호가 붙어 있어서, 심판은 어느 자리에서 점프가 이루어졌는지 기록한다. 0번 자리는 1번 자리와 N−1번 자리에 이웃한다.
대회 규칙에 따르면 점프 순서는 바위에서 시작해 항상 바위에서 다른 바위로 이어지고, 출발한 자리에서 끝나야 한다. 경기장의 바위를 모두 쓸 필요는 없다.
폭은 대회를 앞두고 연습하는 중이다. 연습을 시작할 때마다 출발할 바위 하나와 1 이상 N−1 이하인 정수 점프 거리 K를 고른다. i번 바위에 서 있으면 다음 점프의 목표는 (i+K)를 N으로 나눈 나머지 번호의 자리다. 출발한 바위에 다시 착지하면 그 연습이 끝난다. 연못이나 표시된 자리 밖에 착지하면 실격이므로, 착지하는 자리는 모두 바위여야 한다. 예를 들어 경기장에 자리가 3개 있고 모두 바위일 때 폭이 0번에서 출발하며 K=2를 고르면 0번에서 2번으로, 다시 1번으로, 마지막에 0번으로 돌아오고 연습이 끝난다.
N개 자리의 상태가 주어질 때, 어느 바위에서든 출발할 수 있다고 하고 폭이 연습에 고를 수 있는 서로 다른 K 값이 몇 개인지 구하라.
첫째 줄에 길이가 N인 문자열 S가 주어진다 (3≤N≤105). S의 i번째 문자 (i=0,1,…,N−1)는 i번 자리의 상태를 나타내고, R이면 바위, P이면 연못이다.
폭이 연습에 고를 수 있는 서로 다른 점프 거리의 개수를 한 줄에 출력한다.