There are n nodes, the i-th of which has color c_i. For a given integer k (1≤k≤n), please count the number of ways to build exactly n−1 undirected edges between the nodes, such that:
Two ways of building edges are considered different if and only if there exist two nodes i and j such that 1≤i<j≤n and there is an edge between them in one of the two ways but not in the other.
Since the number could be large, you only need to output the answer modulo 109+7.
The first line contains two integers, n and k (1≤k≤n≤300).
The following n lines contain integers c_1,c_2,…,c_n denoting the colors of the nodes, one integer per line (1≤c_i≤n).
Output the answer modulo 109+7.