#ifdef LOCAL
cout<<"\nTime Elapsed: " << 1.0*clock() / CLOCKS_PER_SEC << " sec\n";
#endif
#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define pii pair<ll,ll>
#define endl "\n"
#define pb push_back
#define all(a) a.begin(),a.end()
ll mod=998244353;
ll rec(ll i, vector<ll>& vp, ll k){
if(k<=1 || i==vp.size()){
if(k==0) return 0;
vector<ll> temp;
for(ll j=0;j<vp.size();j++){
if(vp[j]==0) continue;
ll idx=j;
ll cntr=0;
while(idx<vp.size() && vp[idx]==1){
idx+=1;
cntr+=1;
}
j=idx-1;
temp.pb(cntr);
}
if(!temp.empty()) sort(all(temp)), reverse(all(temp));
ll ans=0, fk=k;
for(ll j=0;j<k;j++){
if(temp.size()==j || fk==0) break;
ans+=(temp[j]);
fk-=1;
}
return ans+fk;
}
if(vp[i]==1) return rec(i+1,vp,k);
ll nxt=i, cntr=0;
while(nxt<vp.size() && vp[nxt] == 0){
nxt+=1;
cntr+=1;
}
if(cntr>k) return rec(nxt,vp,k);
ll fk=rec(nxt,vp,k);
for(ll j=i;j<nxt;j++){
vp[j]=1;
}
ll fk1=rec(nxt,vp,k-cntr);
for(ll j=i;j<nxt;j++){
vp[j]=0;
}
return max(fk,fk1);
}
void solve(){
ll a,b,c,k,l,r,q,d,n,m,z,w,h,x,y;
cin>>n>>k;
if(k==0){
cout<<0<<endl;
return;
}
vector<ll> vp;
ll cntr=0;
while(n>0){
vp.pb(n%2);
cntr+=(n%2==0);
n/=2;
}
if(cntr<k){
ll sz=vp.size();
cout<<sz+(k-cntr-1)<<endl;
return;
}
ll ans=rec(0,vp,k);
cout<<ans<<endl;
return;
}
int main(){
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll a,b,c,n,tt,d,m,k,x,y;
tt = 1;
cin >> tt;
while(tt--){
solve();
}
return 0;
}
I2lmZGVmIExPQ0FMCiAgICBjb3V0PDwiXG5UaW1lIEVsYXBzZWQ6ICIgPDwgMS4wKmNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQyA8PCAiIHNlY1xuIjsKI2VuZGlmCgojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwaWkgcGFpcjxsbCxsbD4KI2RlZmluZSBlbmRsICJcbiIKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKCgpsbCAgbW9kPTk5ODI0NDM1MzsKCmxsIHJlYyhsbCBpLCB2ZWN0b3I8bGw+JiB2cCwgbGwgayl7CiAgICBpZihrPD0xIHx8IGk9PXZwLnNpemUoKSl7CiAgICAgICAgaWYoaz09MCkgcmV0dXJuIDA7CiAgICAgICAgdmVjdG9yPGxsPiB0ZW1wOwogICAgICAgIGZvcihsbCBqPTA7ajx2cC5zaXplKCk7aisrKXsKICAgICAgICAgICAgaWYodnBbal09PTApIGNvbnRpbnVlOwogICAgICAgICAgICBsbCBpZHg9ajsKICAgICAgICAgICAgbGwgY250cj0wOwogICAgICAgICAgICB3aGlsZShpZHg8dnAuc2l6ZSgpICYmIHZwW2lkeF09PTEpewogICAgICAgICAgICAgICAgaWR4Kz0xOwogICAgICAgICAgICAgICAgY250cis9MTsKICAgICAgICAgICAgfQogICAgICAgICAgICBqPWlkeC0xOwogICAgICAgICAgICB0ZW1wLnBiKGNudHIpOwogICAgICAgIH0KICAgICAgICBpZighdGVtcC5lbXB0eSgpKSBzb3J0KGFsbCh0ZW1wKSksIHJldmVyc2UoYWxsKHRlbXApKTsKICAgICAgICBsbCBhbnM9MCwgZms9azsKICAgICAgICBmb3IobGwgaj0wO2o8aztqKyspewogICAgICAgICAgICBpZih0ZW1wLnNpemUoKT09aiB8fCBmaz09MCkgYnJlYWs7CiAgICAgICAgICAgIGFucys9KHRlbXBbal0pOwogICAgICAgICAgICBmay09MTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFucytmazsKICAgIH0KICAgIGlmKHZwW2ldPT0xKSByZXR1cm4gcmVjKGkrMSx2cCxrKTsKICAgIGxsIG54dD1pLCBjbnRyPTA7CiAgICB3aGlsZShueHQ8dnAuc2l6ZSgpICYmIHZwW254dF0gPT0gMCl7CiAgICAgICAgbnh0Kz0xOwogICAgICAgIGNudHIrPTE7CiAgICB9CiAgICBpZihjbnRyPmspIHJldHVybiByZWMobnh0LHZwLGspOwogICAgbGwgZms9cmVjKG54dCx2cCxrKTsKICAgIGZvcihsbCBqPWk7ajxueHQ7aisrKXsKICAgICAgICB2cFtqXT0xOwogICAgfQogICAgbGwgZmsxPXJlYyhueHQsdnAsay1jbnRyKTsKICAgIGZvcihsbCBqPWk7ajxueHQ7aisrKXsKICAgICAgICB2cFtqXT0wOwogICAgfQogICAgcmV0dXJuIG1heChmayxmazEpOwp9Cgp2b2lkIHNvbHZlKCl7CiAgICBsbCBhLGIsYyxrLGwscixxLGQsbixtLHosdyxoLHgseTsKICAgIGNpbj4+bj4+azsKICAgIGlmKGs9PTApewogICAgICAgIGNvdXQ8PDA8PGVuZGw7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgdmVjdG9yPGxsPiB2cDsKICAgIGxsIGNudHI9MDsKICAgIHdoaWxlKG4+MCl7CiAgICAgICAgdnAucGIobiUyKTsKICAgICAgICBjbnRyKz0obiUyPT0wKTsKICAgICAgICBuLz0yOwogICAgfQogICAgaWYoY250cjxrKXsKICAgICAgICBsbCBzej12cC5zaXplKCk7CiAgICAgICAgY291dDw8c3orKGstY250ci0xKTw8ZW5kbDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBsbCBhbnM9cmVjKDAsdnAsayk7CiAgICBjb3V0PDxhbnM8PGVuZGw7CiAgICByZXR1cm47Cn0KCmludCBtYWluKCl7CiAgICAvLyBmcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgIC8vIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgbGwgYSxiLGMsbix0dCxkLG0sayx4LHk7Cgl0dCA9IDE7CiAgICBjaW4gPj4gdHQ7CiAgICB3aGlsZSh0dC0tKXsKICAgICAgICBzb2x2ZSgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=