시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB105360.000%

문제

Vanya works at the factory producing palindromes. The factory has a workpiece --- a string $s$ line of length $n$, consisting of lowercase English letters, from which Vanya can cut out any substring for sale. We remind you that palindrome --- is a string that reads in the same way from left to right and from right to left.

A lot of people are fed up with a usual palindromes, so Vanya decided to produce double palindromes instead. Double palindrome is a string formed by a concatenation of two palindromes of equal length. For example, the strings "aabb", "aaaa" are double palindromes, while strings "abba" and "aaaabb" are not.

Vanya wonders how many ways are there to cut out double palindrome from $s$. In other words, how many there are pairs $(l, r)$, such that substring $s_l s_{l+1} \ldots s_r$ is a double palindrome. Please help Vanya to find an answer to this question.

입력

The first line contains an integer $n$ ($1 \leq n \leq 500\,000$) --- the length of the string $s$. The second contains a string $s$, consisting of lowercase English letters.

출력

Print a single integer --- the number of double palindrome substrings.

서브태스크

번호배점제한
119

$n \leq 500$

233

$n \leq 5000$

348

예제 입력 1

6
abacac

예제 출력 1

6

예제 입력 2

5
aaaaa

예제 출력 2

6

노트

In the first example, there are 5 double palindromes of length 2 ("ab", "ba", "ac", "ca" and "ac"), and the whole string is a double palindrome as well ("abacac").

채점 및 기타 정보

  • 예제는 채점하지 않는다.
  • 이 문제의 채점 우선 순위는 2이다.