//https://blog.csdn.net/hesorchen#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<iostream>#include<algorithm>#include<vector>#include<map>#include<stack>#include<list>#include<set>#include<queue>#include<string>#include<cstring>usingnamespace std;#define ll long long#define lowbit(a) (a & (-a))#define endl "\n"#define PI acos(-1.0)#define mod 1000000009#define INF 0x3f3f3f3f#define MAX 200010
ll p[300010];
ll check_[300010];
ll n, m;boolcheck(ll x){for(ll i =1; i <= x; i++)
check_[i]= p[i];
ll cot =1+ x;for(ll j =1; j < m; j++){for(ll i =1; i <= x; i++){while(check_[i]*2> p[cot]&& cot <= n)
cot++;if(cot >= n +1)return0;
check_[i]= p[cot++];}}return1;}intmain(){
ll t;
cin >> t;int cas =1;while(t--){scanf("%lld %lld",&n,&m);for(ll i =1; i <= n; i++)scanf("%lld",&p[i]);sort(p +1, p +1+ n);
ll l, r, mid, ans =0;
l =1;
r = n / m;while(l <= r){
mid =(l + r)/2;if(check(mid)){
l = mid +1;
ans = mid;}else
r = mid -1;}printf("Case #%d: %lld\n", cas++, ans);}return0;}