만드는 중입니다

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

더블팰린드롬

면접 대비

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

요약
X와 Y가 모두 회문인 서로 다른 문자열의 순서쌍 개수를 구하는 문제입니다.
난이도

쉬움10점 중 3점

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

문제

종현은 알고리즘 과제로 팰린드롬을 공부하고 있다. 팰린드롬은 앞에서부터 읽으나 뒤에서부터 읽으나 같은 문자열이다. 예를 들어 'abba'와 'level'은 팰린드롬이고, 'abab'와 'abc'는 팰린드롬이 아니다.

종현은 팰린드롬을 살펴보다가 새로운 현상을 발견했다. 먼저 길이가 짝수인 문자열 XX, YY를 고른다. 그다음 XX를 길이가 같은 두 부분으로 나누어 X_1X\_1, X_2X\_2를 얻는다. 종현은 X_1X\_1, YY, X_2X\_2를 순서대로 이어 붙여 새로운 문자열 ZZ를 만든다. 이렇게 얻은 ZZ가 팰린드롬이면 종현은 XX와 YY가 더블팰린드롬 현상을 일으킨다고 부르기로 했다.

길이가 짝수인 NN개의 서로 다른 문자열 s_1s\_1, s_2s\_2, …\ldots, s_Ns\_N이 주어질 때, X=s_iX=s\_i와 Y=s_jY=s\_j가 더블팰린드롬 현상을 일으키게 하는 순서쌍 (i,j)(i, j)의 개수를 구하라.

입력

첫 번째 줄에 문자열의 개수 NN이 주어진다.

두 번째 줄부터 NN개의 줄에 걸쳐 길이가 짝수이고 알파벳 소문자로만 이루어진 문자열 s_1s\_1, s_2s\_2, …\ldots, s_Ns\_N이 한 줄에 하나씩 주어진다.

출력

더블팰린드롬 현상을 일으킬 수 있는 쌍의 개수를 출력한다.

제한

  • 2≤N≤10 0002 \le N \le 10\,000
  • 1≤i≤N1 \le i \le N
  • 1≤j≤N1 \le j \le N
  • i≠ji \neq j
  • 입력으로 주어지는 모든 수는 정수이다.
  • 입력으로 주어지는 문자열의 길이는 1 0001\,000 이하이며 짝수이다.
  • 입력으로 주어지는 문자열은 서로 중복되지 않는다.

예제1

  1. 예제 1

    입력
    3
    abba
    aa
    ac
    
    예상 출력
    2