수행평가 1

A에 연속 구간으로 등장하지 않는 가장 짧은 수열의 길이와 그 경우의 수를 1e9+7로 나눈 나머지를 구합니다.

보통6문자열 매칭해시맵조합론아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

재현이는 알고리즘 수행평가 과제로 길이가 NN인 수열 AA를 냈다. AA의 모든 원소는 MM 이하의 자연수다. 재현이는 모든 원소가 MM 이하인 수열을 아름다운 수열이라고 부른다.

재현이는 자신만의 아름다운 수열 BB를 하나 더 만들어 내려고 한다. BB의 원소도 모두 11 이상 MM 이하의 자연수이고, 길이는 11 이상이다. 선생님은 BBAA의 연속된 부분 수열이면 표절로 판단하므로, BBAA 안에 연속으로 등장하면 안 된다.

시간이 없는 재현이는 길이가 가장 짧은 BB를 만들려고 한다. 조건을 만족하는 BB의 최소 길이와, 그 길이를 가지는 BB의 개수를 109+710^9 + 7로 나눈 나머지를 구하여라. 길이가 N+1N + 1인 수열은 AA 안에 연속으로 등장할 수 없으므로 답은 항상 존재한다.

입력

첫째 줄에 NNMM이 공백으로 구분되어 주어진다. (1N,M1000001 \le N, M \le 100000)

둘째 줄에 수열 AA의 원소 A1,A2,,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (1AiM1 \le A_i \le M)

출력

첫째 줄에 조건을 만족하는 BB의 최소 길이와, 그 길이를 가지는 BB의 개수를 109+710^9 + 7로 나눈 나머지를 공백으로 구분해 출력한다.