배열하고 세기!
시간 제한5초메모리 제한512 MB
수열이 주어질 때, 접두사를 뒤집어 뒤로 붙이는 연산으로 만들 수 있는 서로 다른 수열의 개수를 1e9+7로 나눈 나머지를 여러 테스트 케이스에 대해 구한다.
문제
Alice는 수열 을 가지고 있다. 그녀는 다음 연산을 원하는 만큼 사용해 수열을 재배열할 수 있다:
- 정수 ()를 골라 수열을 로 바꾼다.
Alice는 서로 다른 수열이 몇 개나 얻어질 수 있는지 알고 싶다. 답을 로 나눈 나머지를 구하라.
입력
입력은 여러 테스트 케이스로 이루어지며, 파일의 끝에서 끝난다. 각 테스트 케이스는 다음과 같다.
첫째 줄에는 수열의 길이 이 주어진다.
둘째 줄에는 개의 정수 이 주어진다.
출력
각 테스트 케이스마다 답을 나타내는 정수를 한 줄에 출력한다.
제한
- 의 합은 을 넘지 않는다.