미친 회전

여러 색의 불빛 배열이 주어질 때, 회전의 변화량이 감소하지 않는 순서에서 위치 p에 올 수 있는 가장 작은 회전 칸수를 구한다.

어려움9문자열 매칭조합론정렬정수론아직 제출이 없습니다시간 제한15초메모리 제한512 MB

문제

Cynthia는 색이 있는 전구 nn개를 한 줄로 놓았다. 전구에는 00번부터 n1n-1번까지 번호가 붙어 있다. Cynthia는 전구의 색을 회전시켜 애니메이션을 만든다. 색을 kk칸 회전한다는 것은, 시각 tt에서 ii번 전구의 색이 시각 t1t-1에서 (ik)modn(i - k) \bmod n번 전구가 가졌던 색과 같아진다는 뜻이다. 회전을 한 번 하면 색이 바뀌는 전구가 여럿 생길 수 있다. kk칸 회전의 광기는 색이 바뀌는 전구의 개수다.

예를 들어 전구 8개가 BRBRBYBB라고 하자. 글자 하나가 전구 하나의 색이다. 1칸 회전하면 BBRBRBYB가 되고 전구 6개의 색이 바뀌므로, 이 회전의 광기는 6이다.

Cynthia는 광란 수열을 만들려고 한다. 광란 수열은 서로 다른 회전 n1n-1개를 늘어놓은 순서이고, 광기가 한 번도 줄어들지 않아야 한다. 정확히 말하면 11부터 n1n-1까지의 정수를 한 번씩 사용한 순열 (a1,a2,,an1)(a_1, a_2, \ldots, a_{n-1}) 중에서, 2i<n2 \le i < n인 모든 ii에 대해 ai1a_{i-1}칸 회전의 광기가 aia_i칸 회전의 광기보다 크지 않은 것이다.

전구 4개가 BYBR이면 1칸 회전의 광기는 4, 2칸 회전의 광기는 2, 3칸 회전의 광기는 4이다. 따라서 (2,1,3)(2, 1, 3)은 광란 수열이고, 1칸 회전은 2번째 자리에 놓인다.

전구의 처음 색과 정수 pp가 주어진다. 광란 수열의 pp번째 자리에 올 수 있는 가장 작은 수를 구하라.

입력

첫째 줄에 전구의 개수 nn (2n5000002 \le n \le 500\,000)과 궁금한 자리의 번호 pp (1p<n1 \le p < n)가 주어진다.

둘째 줄에 길이가 nn인 문자열이 주어진다. 이 문자열은 전구의 처음 색을 나타낸다. 전구 하나의 색은 문자 하나로 적고, R은 빨강, B는 파랑, Y는 노랑이다.

출력

광란 수열의 pp번째 자리에 올 수 있는 가장 작은 수를 출력한다.