A에 연속 구간으로 등장하지 않는 가장 짧은 수열의 길이와 그 경우의 수를 1e9+7로 나눈 나머지를 구합니다.
재현이는 알고리즘 수행평가 과제로 길이가 NNN인 수열 AAA를 냈다. AAA의 모든 원소는 MMM 이하의 자연수다. 재현이는 모든 원소가 MMM 이하인 수열을 아름다운 수열이라고 부른다.
재현이는 자신만의 아름다운 수열 BBB를 하나 더 만들어 내려고 한다. BBB의 원소도 모두 111 이상 MMM 이하의 자연수이고, 길이는 111 이상이다. 선생님은 BBB가 AAA의 연속된 부분 수열이면 표절로 판단하므로, BBB는 AAA 안에 연속으로 등장하면 안 된다.
시간이 없는 재현이는 길이가 가장 짧은 BBB를 만들려고 한다. 조건을 만족하는 BBB의 최소 길이와, 그 길이를 가지는 BBB의 개수를 109+710^9 + 7109+7로 나눈 나머지를 구하여라. 길이가 N+1N + 1N+1인 수열은 AAA 안에 연속으로 등장할 수 없으므로 답은 항상 존재한다.
첫째 줄에 NNN과 MMM이 공백으로 구분되어 주어진다. (1≤N,M≤1000001 \le N, M \le 1000001≤N,M≤100000)
둘째 줄에 수열 AAA의 원소 A1,A2,…,ANA_1, A_2, \dots, A_NA1,A2,…,AN이 공백으로 구분되어 주어진다. (1≤Ai≤M1 \le A_i \le M1≤Ai≤M)
첫째 줄에 조건을 만족하는 BBB의 최소 길이와, 그 길이를 가지는 BBB의 개수를 109+710^9 + 7109+7로 나눈 나머지를 공백으로 구분해 출력한다.