회문 동치
시간 제한1초메모리 제한128 MB
주어진 단어와 팰린드롬 부분 문자열의 위치가 정확히 일치하는 같은 길이의 단어 개수를 센다.
문제
길이가 같은 두 단어 와 가 있고, 그 길이를 이라 하자. 을 만족하는 모든 위치 쌍 에 대하여, "에서 번째부터 번째까지의 부분 문자열이 회문"인 것과 "에서 같은 구간의 부분 문자열이 회문"인 것이 항상 함께 성립하거나 함께 성립하지 않으면, 두 단어 와 를 회문 동치라고 부른다.
다시 말해, 와 는 위치를 기준으로 정확히 같은 회문 부분 문자열의 집합을 가진다.
단어 하나가 주어질 때, 그 단어와 회문 동치이면서 길이가 같고 소문자 알파벳 26자로 이루어진 단어의 개수를 구하여라. 그 개수가 매우 클 수 있으므로 로 나눈 나머지를 출력한다.
입력
소문자 알파벳으로 이루어진, 비어 있지 않은 단어가 한 줄에 주어진다. 단어의 길이는 을 넘지 않는다.
출력
주어진 단어와 회문 동치인 단어의 개수를 로 나눈 나머지를 정수 하나로 출력한다.
힌트
단어 abba를 생각해 보자. 어떤 단어가 abba와 회문 동치가 되는 경우는 서로 다른 두 문자 , 에 대해 xyyx 꼴일 때뿐이다. 를 고르는 방법이 가지, 남은 를 고르는 방법이 가지이므로 이러한 단어는 모두 개다.