#include<bits/stdc++.h>
using namespace std;
#define int long long int
#define endl "\n"
#define inf 10000000000ll
int Qtime(int *arr, int Q, int n) {
int prata = 0;
for (int i = 0; i < n; i++) {
int x = 1;
while ( (x * (x + 1)*arr[i]) / 2 <= Q )
x++;
x--;
prata += x;
}
return prata;
}
int32_t main()
{ ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
int tprata, n;
cin >> tprata >> n;
int *arr = new int[n];
for (int i = 0; i < n; i++)
cin >> arr[i];
int ans = inf;
int s = 0, e = inf;
while (s <= e) {
int mid = s + (e - s) / 2;
int check = Qtime(arr, mid, n);
if (check >= tprata) { //valid, check for min time now
ans = min(mid, ans);
e = mid - 1;
} else //Invalid
s = mid + 1;
}
cout << ans << endl;
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBpbnQgbG9uZyBsb25nIGludAojZGVmaW5lIGVuZGwgICAgICJcbiIKI2RlZmluZSBpbmYgMTAwMDAwMDAwMDBsbAogCiAKaW50IFF0aW1lKGludCAqYXJyLCBpbnQgUSwgaW50IG4pIHsKCWludCBwcmF0YSA9IDA7Cglmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewoJCWludCB4ID0gMTsKCQl3aGlsZSAoICh4ICogKHggKyAxKSphcnJbaV0pIC8gMiA8PSBRICkKCQkJeCsrOwoJCXgtLTsKCQlwcmF0YSArPSB4OwoJfQoJcmV0dXJuIHByYXRhOwp9CiAKaW50MzJfdCBtYWluKCkKewlpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUoTlVMTCk7CiAKCWludCB0OwoJY2luID4+IHQ7Cgl3aGlsZSAodC0tKSB7CgkJaW50IHRwcmF0YSwgbjsKCQljaW4gPj4gdHByYXRhID4+IG47CgkJaW50ICphcnIgPSBuZXcgaW50W25dOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKQoJCQljaW4gPj4gYXJyW2ldOwoJCWludCBhbnMgPSBpbmY7CgkJaW50IHMgPSAwLCBlID0gaW5mOwoJCXdoaWxlIChzIDw9IGUpIHsKCQkJaW50IG1pZCA9IHMgKyAoZSAtIHMpIC8gMjsKCQkJaW50IGNoZWNrID0gUXRpbWUoYXJyLCBtaWQsIG4pOwogCgkJCWlmIChjaGVjayA+PSB0cHJhdGEpIHsgLy92YWxpZCwgY2hlY2sgZm9yIG1pbiB0aW1lIG5vdwoJCQkJYW5zID0gbWluKG1pZCwgYW5zKTsKCQkJCWUgPSBtaWQgLSAxOwoJCQl9IGVsc2UgICAgICAgICAgICAgIC8vSW52YWxpZAoJCQkJcyA9IG1pZCArIDE7CgkJfQoJCWNvdXQgPDwgYW5zICA8PCBlbmRsOwoJfQoJcmV0dXJuIDA7Cn0gIA==