#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin >> t;
    while (t--)
    {
        int n, k;
        cin >> n >> k;
        vector<int> A(n,0);
        unordered_map<int, int> mp;
        for(int i=0;i<n;i++)
        {
            cin>>A[i];
            mp[A[i]]++;
        }
        long long  ans = 1;
        sort(A.begin(),A.end());
        vector<int> cost;
        for (int i = 0; i < k; i++)
        {
            cost.push_back(A[i]);
        }
        int mx = *max_element(cost.begin(),cost.end());
        int i = 0;
        for (i = 0; i < k; i++)
        {
            if (A[i] == mx)
            {
                break;
            }
        }
        while (i < k)
        {
            ans = ans * mp[mx];
            mp[mx]--;
            i++;
        }
        cout << ans << endl;
    }

    return 0;
}