만드는 중입니다

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

타카하시의 카드 게임

면접 대비

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

요약
상자에 넣을 수 있는 카드 묶음(2장 이상) 중 한 장을 남기고 어떤 순서로 뽑아도 회문이 되는 경우의 수를 10^9 + 7로 나눈 나머지로 구합니다.
난이도

보통10점 중 4점

유형
수학, 조합론, 문자열, 해시맵
정답자
아직 제출이 없습니다

문제

1번부터 nn번까지 서로 다른 nn개의 카드가 있습니다. 각 카드에는 알파벳 소문자 또는 대문자 중 하나가 적혀 있습니다. 가희가 이 중 2개 이상의 카드를 뽑아 랜덤 상자에 넣었습니다. 타카하시는 다음 행동을 순서대로 수행합니다.

  • 랜덤 상자에서 카드를 1개 이상 뽑습니다. 이 행동을 한 후에도 랜덤 상자에는 카드가 적어도 하나 남아 있어야 합니다.
  • 뽑은 카드들을 뽑은 순서대로 나열해 문자열을 만듭니다.

만들어진 문자열이 팰린드롬이면 가희가, 그렇지 않으면 타카하시가 승리합니다. 가희가 항상 승리하도록 카드를 뽑아 랜덤 상자에 넣는 가짓수를 109+710^{9} + 7로 나눈 나머지를 출력하세요.

입력

첫 번째 줄에 카드의 수 nn이 주어집니다.

두 번째 줄에 길이 nn의 문자열이 주어집니다. ii번째 문자는 ii번 카드에 적힌 문자입니다.

출력

문제의 정답을 출력하세요.

제한

2≤n≤500 0002 \le n \le 500\,000

힌트

팰린드롬은 앞으로 읽어도 뒤로 읽어도 같은 문자열입니다.

예제2

  1. 예제 1

    입력
    6
    aabbaa
    
    예상 출력
    20
    
  2. 예제 2

    입력
    2
    mm
    
    예상 출력
    1