테서랙트
시간 제한2초메모리 제한1024 MB
소문자로 된 문자열에서 뒤집어도 그대로인 부분 구간 중, 그 구간을 포함하는 더 큰 구간이 회문이 아닌 경우의 개수를 구합니다.
문제
로키는 아스가르드에서 가져온 테서랙트로 지구를 공격했다. 이 유물의 가치를 아는 로키는 자신만 쓸 수 있도록 내부 구조를 바꾸려 한다. 자신만 원래대로 되돌릴 수 있게 만드는 것이다. 테서랙트 안에는 작은 큐브들이 이어진 사슬이 있다. 그중에는 거의 똑같아 보이는 큐브들이 있고, 로키는 이를 이용하려 한다. 사람들이 눈치채지 못하기를 바라며 그는 두 번의 변경을 한다. 변경할 때마다 유물은 이전과 똑같아 보여야 한다. 사슬은 개의 큐브로 이루어져 있다. 로키는 사슬에서 연속된 구간을 떼어내 뒤집은 뒤 제자리에 다시 끼운다. 겉으로 보아 사슬이 바뀌지 않도록 구간을 고른다. 그다음 첫 번째 구간을 포함하면서 그와 같지 않은 다른 구간을 골라 같은 작업을 반복한다. 두 작업을 마치면 사슬은 원래와 달라지고 유물은 망가진다. 발각될 위험을 가늠하려고 로키는 첫 번째 작업에 쓸 수 있는 구간이 몇 가지인지 알고 싶어 한다.
입력
첫 번째이자 유일한 줄에 길이가 최대 인 소문자 라틴 문자 문자열이 주어진다.
출력
로키가 택할 수 있는 서로 다른 첫 번째 작업의 수를 정수 하나로 출력한다.