팰린드롬 분할

문제

세준이는 어떤 문자열을 팰린드롬으로 분할하려고 한다. 예를 들어, ABACABA를 팰린드롬으로 분할하면, {A, B, A, C, A, B, A}, {A, BACAB, A}, {ABA, C, ABA}, {ABACABA}등이 있다.

분할의 개수의 최솟값을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열이 주어진다. 이 문자열은 알파벳 대문자로만 이루어져 있고, 최대 길이는 2,500이다.

출력

첫째 줄에 팰린드롬 분할의 개수의 최솟값을 출력한다.

예제 입력 1 복사

BBCDDECAECBDABADDCEBACCCBDCAABDBADD

예제 입력 2 복사

AAAA

예제 입력 3 복사

ABCDEFGH

예제 입력 4 복사

QWERTYTREWQWERT

예제 출력 1 복사

22

예제 출력 2 복사

1

예제 출력 3 복사

8

예제 출력 4 복사

5