#include<bits/stdc++.h>
using namespace std;
int maxAND(long long int L, long long int R)
{
if (L == R)
return L;
else if ((R - L) == 1)
return (R & L);
else {
if (((R - 1) & R) > ((R - 2) & (R - 1)))
return ((R - 1) & R);
else
return ((R - 2) & (R - 1));
}
}
int main() {
int t;
scanf("%d",&t);
while(t--) {
long long int p,q;
scanf("%llu%llu",&p,&q);
printf("%d\n",maxAND(p,q));
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYXhBTkQobG9uZyBsb25nIGludCBMLCBsb25nIGxvbmcgaW50IFIpIAp7IAogICAgaWYgKEwgPT0gUikgCiAgICAgICAgcmV0dXJuIEw7IAogICAgZWxzZSBpZiAoKFIgLSBMKSA9PSAxKSAKICAgICAgICByZXR1cm4gKFIgJiBMKTsgCiAgICBlbHNlIHsgCiAgICAgICAgaWYgKCgoUiAtIDEpICYgUikgPiAoKFIgLSAyKSAmIChSIC0gMSkpKSAKICAgICAgICAgICAgcmV0dXJuICgoUiAtIDEpICYgUik7IAogICAgICAgIGVsc2UKICAgICAgICAgICAgcmV0dXJuICgoUiAtIDIpICYgKFIgLSAxKSk7IAogICAgfSAKfSAKCgppbnQgbWFpbigpIHsKCWludCB0OwoJc2NhbmYoIiVkIiwmdCk7Cgl3aGlsZSh0LS0pIHsKCQlsb25nIGxvbmcgaW50IHAscTsKCQlzY2FuZigiJWxsdSVsbHUiLCZwLCZxKTsKCQlwcmludGYoIiVkXG4iLG1heEFORChwLHEpKTsKCX0KfQ==