피노키오

S에서 서로 다른 네 위치를 골라 A, C, G, T를 하나씩 뽑는 서로 다른 방법의 수를 구한다.

쉬움3조합론수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

사람의 염색체는 A, C, G, T 네 알파벳으로 나타내는 네 가지 염기로 이루어진다. 준서는 자기 대신 근무할 피노키오를 만들기로 했다.

준서에게는 길이가 LL인 염기열 SS가 있다. 이 염기열에서 A, C, G, T를 각각 하나씩 빼내어 합성하면 피노키오 하나를 만들 수 있다. 같은 문자의 염기라도 염기열에서 놓인 위치가 다르면 성질이 조금씩 다르다. 그래서 빼낸 네 염기의 위치가 모두 같을 때만 같은 피노키오이고, 위치가 하나라도 다르면 서로 다른 피노키오가 된다. 준서가 만들 수 있는 피노키오가 몇 종류인지 구하라.

입력

첫 줄에 염기열의 길이 LL (1L1061 \le L \le 10^6)이 주어진다. 둘째 줄에 길이가 LL인 문자열 SS가 주어진다. SS의 모든 문자는 A, C, G, T 중 하나이다.

출력

만들 수 있는 피노키오의 종류 수를 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.