#include<bits/stdc++.h>
using namespace std;
int test,parata,cook,rnk[10000],cnt,i;
bool check(int t)
{
cnt=0;
for(i=0;i<cook;i++)
{
cnt=cnt+((-1)+sqrt(1+8*t/rnk[i]))/2;
if(cnt>=parata)
return true;
}
return false;
}
int main()
{
scanf("%d",&test);
while(test--)
{
scanf("%d%d",¶ta,&cook);
for(i=0;i<cook;i++)
cin>>rnk[i];
int hi=10000000,lo=0,mid;
while(hi>lo)
{
mid=(hi+lo)/2;
if(check(mid))
hi=mid;
else
lo=mid+1;
}
cout<<lo<<endl;
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IHRlc3QscGFyYXRhLGNvb2sscm5rWzEwMDAwXSxjbnQsaTsKYm9vbCBjaGVjayhpbnQgdCkKewogICAgY250PTA7CiAgICBmb3IoaT0wO2k8Y29vaztpKyspCiAgICB7CiAgICAgICAgY250PWNudCsoKC0xKStzcXJ0KDErOCp0L3Jua1tpXSkpLzI7CiAgICAgICAgaWYoY250Pj1wYXJhdGEpCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9CmludCBtYWluKCkKewoKICAgIHNjYW5mKCIlZCIsJnRlc3QpOwogICAgd2hpbGUodGVzdC0tKQogICAgewogICAgICAgIHNjYW5mKCIlZCVkIiwmcGFyYXRhLCZjb29rKTsKICAgICAgICBmb3IoaT0wO2k8Y29vaztpKyspCiAgICAgICAgY2luPj5ybmtbaV07CiAgICAgICAgaW50IGhpPTEwMDAwMDAwLGxvPTAsbWlkOwogICAgICAgIHdoaWxlKGhpPmxvKQogICAgICAgIHsKICAgICAgICAgICAgbWlkPShoaStsbykvMjsKICAgICAgICAgICAgaWYoY2hlY2sobWlkKSkKICAgICAgICAgICAgICAgIGhpPW1pZDsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgbG89bWlkKzE7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PGxvPDxlbmRsOwogICAgfQp9Cg==