#include<bits/stdc++.h>
using namespace std;
	#define author          "Sihare0riginals"
	#define ss       		string 
	#define lli      		long long int
	#define ld       		long double
	#define f        		first
	#define s        		second
	#define all(v)   		v.begin(),v.end()
	#define I(a,i)			memset(a,i,sizeof(a));
	#define pb       		push_back
	#define mp       		make_pair
	#define L(i,start,end)  for(lli i=start;i<=end;i++)
	#define R(i,start,end)  for(lli i=start;i>=end;i--)
	#define ip(n) 			cin>>n;lli ip[n+1];L(i,1,n)cin>>ip[i];
const lli LINF = 1e18,mod=1e9+7;
void Bl0ck_M0mb0();
lli power(lli a,lli b,lli m){ if(b==0) return 1; if(b==1) return a%m;
 	lli t=power(a,b/2,m); t=(t*t)%m; if(b&1) t=(t*a)%m; return t;}
lli modInverse(lli a, lli m) { return power(a, m-2, m); }
lli DP[1001];
void solve()
{
	lli val=1;
	DP[0]=1;
	L(i,1,1000)
	{
		val*=i;
		val%=mod;
		DP[i]=val;
	}
}
lli ncr(lli n,lli r)
{
	lli val=DP[n];
	//cout<<val<<" "<<DP[r]<<" "<<DP[n-r]<<endl;
	val*=modInverse(DP[r],mod);
	val%=mod;
	//cout<<val<<endl;
	val*=modInverse(DP[n-r],mod);
	val%=mod;
	return val;
}
signed main()
{
	Bl0ck_M0mb0();
	lli t=1;
	cin>>t;
	solve();
	while(t--){
		lli n,k;
		cin>>n>>k;
		lli ip[n+1];
		map<lli,lli> fr;
		L(i,1,n)
		{
			cin>>ip[i];
			fr[ip[i]]++;
		}
		sort(ip+1,ip+n+1);
		reverse(ip+1,ip+n+1);
		lli i=1;
		lli x=ip[k];
		lli r=0;
		R(i,k,1)
		{
			if(ip[i]==x)
				r++;
			else
				break;
		}
		lli f=fr[x];
		//cout<<f<<" "<<r<<endl;
		lli ans=ncr(f,r);
		cout<<ans<<endl;
	}
	return 0;
}





























void Bl0ck_M0mb0(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);cout.tie(NULL);
	#ifndef ONLINE_JUDGE
	freopen("ip.txt","r",stdin);
	freopen("op.txt","w",stdout);
	#endif
}
/*
#define dbg1D(i,start,end,arr) for(lli i=start;i<=end;i++) cout<<i<<"th : "<<arr[i]<<endl;
#define dbg2D(i,j,s1,e1,s2,e2,arr) for(lli i=s1;i<=e1;i++){cout<<i<<"th :";for(lli j=s2;j<=e2;j++)cout<<arr[i][j]<<" ";cout<<endl;}
#define M map<lli,lli> \n #define sz(s) s.size()-1
#define P pair<lli,lli> 
#define V vector<lli>
lli dx[4]={-1, 0, 0, +1};
lli dy[4]={0, -1, +1, 0};
lli power(lli a,lli b,lli m){ if(b==0) return 1; if(b==1) return a%m;
 	lli t=power(a,b/2,m); t=(t*t)%m; if(b&1) t=(t*a)%m; return t;}
lli modInverse(lli a, lli m) { return power(a, m-2, m); } */