만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

테서랙트

시간 제한2초메모리 제한1024 MB

요약
소문자로 된 문자열에서 뒤집어도 그대로인 부분 구간 중, 그 구간을 포함하는 더 큰 구간이 회문이 아닌 경우의 개수를 구합니다.
난이도

보통10점 중 5점

유형
문자열, 문자열 매칭
정답자
아직 제출이 없습니다

문제

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

입력

첫 번째이자 유일한 줄에 길이가 최대 100,000100{,}000인 소문자 라틴 문자 문자열이 주어진다.

출력

로키가 택할 수 있는 서로 다른 첫 번째 작업의 수를 정수 하나로 출력한다.

예제1

  1. 예제 1

    입력
    aabaa
    
    예상 출력
    8