#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int n;
long long l, r;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%I64d%I64d", &l, &r);
    long long u = 1;
    long long p = 0;
    for (int i = 0; i < 63; i++) {
      if (l <= u - 1 && r >= u - 1 && r < u * 2 - 1) {
        printf("%I64d\n", p + u - 1);
        break;
      }
      if (l >= u && r <= u * 2 - 1) {
        p += u;
        l -= u;
        r -= u;
        i = -1;
        u = 1;
        continue;
      }
      u *= 2;
    }
  }
  return 0;
}
