크기 N인 집합 A=A_1,A_2,⋯,A_N와 정수 K가 주어집니다. A의 부분집합 S가 좋은 집합이라는 것은 다음 조건을 모두 만족시킴을 의미합니다.
좋은 집합의 개수를 출력하세요.
첫 줄에 정수의 개수 N과 문제의 정수 K가 공백으로 구분되어 주어집니다. (2≤N,K≤100,000)
둘째 줄에 N개의 서로 다른 정수 A_1,A_2,⋯,A_N이 공백으로 구분되어 주어집니다. (1≤A_i≤109)
첫 줄에 좋은 집합의 개수를 출력하세요. 단, 수가 매우 커질 수 있으니 1,000,000,007(=109+7)로 나눈 나머지를 출력하세요. 1,000,000,007은 소수입니다.