#include <bits/stdc++.h>
using namespace std;
int n;
long long f(long long a, long long b) {
  if (a == b) return a;
  long long pow = 1;
  for (; pow <= b;) {
    pow *= 2;
  }
  if (pow > b) pow /= 2;
  if (pow <= a)
    return f(a - pow, b - pow) + pow;
  else if ((pow << 1) - 1 <= b)
    return (pow << 1) - 1;
  else
    return pow - 1;
}
int main() {
  scanf("%d", &n);
  for (__typeof(n) i = 0; i < (n); i++) {
    long long qa, qb;
    scanf("%I64d%I64d", &qa, &qb);
    printf("%I64d\n", f(qa, qb));
  }
}
