한 글자 입력하거나 이미 입력한 연속 부분을 복사해 붙이는 두 연산으로 문자열 X를 만드는 최소 연산 횟수를 구한다.
고란은 노래 부르기를 좋아한다. 가장 좋아하는 노래는 Kletva kralja Zvonimira인데, 가사를 다 외웠는지 확신이 서지 않아 가사를 컴퓨터에 옮겨 적어 보기로 했다. 가사는 영어 소문자로만 이루어진 문자열 XXX이다.
고란이 쓸 수 있는 연산은 두 가지뿐이고, 어느 쪽이든 한 번으로 센다.
두 번째 연산에서 복사하는 부분은 그 연산을 하기 직전의 텍스트 안에 통째로 들어 있어야 한다. 붙여 넣는 도중에 늘어난 글자를 다시 복사 대상에 포함할 수는 없다.
문자열 XXX를 처음부터 끝까지 완성하는 데 필요한 최소 연산 횟수를 구하여라.
첫째 줄에 고란이 옮겨 적으려는 문자열 XXX가 주어진다. XXX는 영어 소문자로만 이루어져 있으며, 길이는 1≤∣X∣≤200 0001 \le |X| \le 200\,0001≤∣X∣≤200000을 만족한다.
첫째 줄에 고란이 XXX 전체를 적는 데 필요한 최소 연산 횟수 SSS를 출력한다.
XXX가 judinisinovi이면 j, u, d, i, n, i, s, in, o, v, i 순서로 적어서 111111번 만에 끝낼 수 있다. 여덟 번째 연산에서는 앞서 적어 둔 in을 복사해 뒤에 붙인다.