1부터 M까지 수로 A의 부분수열이 되지 않는 가장 짧은 수열의 길이와 그 경우의 수를 10^9+7로 나눈 나머지를 구합니다.
어떤 학생이 알고리즘 수행평가 과제로 길이가 NNN인 수열 AAA를 제출했다. AAA의 모든 원소는 MMM 이하의 자연수다.
이어서 다른 학생이 모든 원소가 MMM 이하의 자연수인 수열 BBB를 제출하려고 한다. 선생님은 BBB가 AAA의 부분 수열이면 표절로 판정한다. 부분 수열은 AAA에서 원소를 0개 이상 지우고 남은 원소를 순서 그대로 이어 붙인 수열이다.
수열은 짧을수록 만들기 쉬우므로 길이를 최소로 하려고 한다. 표절로 판정되지 않는 BBB의 최소 길이와, 그 길이를 가지면서 표절로 판정되지 않는 BBB의 개수를 109+710^9 + 7109+7로 나눈 나머지를 구하라.
첫째 줄에 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)
첫째 줄에 표절로 판정되지 않는 수열의 최소 길이와, 그 길이를 가지는 수열의 개수를 109+710^9 + 7109+7로 나눈 나머지를 공백으로 구분해 출력한다.