#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000000007;
long long modexp(long long x, long long n) {
  if (n == 0) {
    return 1;
  } else if (n & 1) {
    return (modexp((x * x) % mod, n / 2) % mod * x % mod) % mod;
  } else {
    return (modexp((x * x) % mod, n / 2) % mod);
  }
}
long long modinv(long long x) { return modexp(x, mod - 2) % mod; }
int main(int argc, char const *argv[]) {
  ios::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  long long l, r;
  cin >> l >> r;
  l--;
  long long suml = 0;
  if (l == 0) suml = 0;
  double l1 = l, r1 = r;
  long long sum1 = 0, sum2 = 0;
  long long sum3 = 0, sum4 = 0;
  long long c3 = 0, c4 = 0;
  if (l == 0)
    suml = 0;
  else {
    long long c1 = (long long)(log2(l1));
    sum1 = (modexp(4, ((c1 + 1) % mod / 2) % mod) % mod - 1 + mod) % mod;
    sum1 = (sum1 * modinv(3)) % mod;
    sum2 = (modexp(4, ((c1) % mod / 2) % mod) % mod - 1 + mod) % mod;
    sum2 = (sum2 * modinv(3)) % mod;
    sum2 = (sum2 * 2) % mod;
    suml = (sum1 % mod * sum1 % mod) % mod;
    suml = (suml % mod + (sum2 * (sum2 + 1) % mod) % mod) % mod;
    long long lnew1 =
        (((((l - modexp(2, c1)) % mod + mod) % mod + 1) % mod) + sum1) % mod;
    long long lnew2 =
        (((((l - modexp(2, c1)) % mod + mod) % mod + 1) % mod) + sum2) % mod;
    if (c1 % 2 != 0)
      c3 = (((lnew2 * (lnew2 + 1)) % mod - (sum2 * (sum2 + 1)) % mod) % mod +
            mod) %
           mod;
    else
      c3 =
          (((lnew1 * (lnew1)) % mod - (sum1 * (sum1)) % mod) % mod + mod) % mod;
    suml = (suml + c3) % mod;
  }
  long long c2 = (long long)(log2(r1));
  sum3 = (modexp(4, ((c2 + 1) % mod / 2) % mod) % mod - 1 + mod) % mod;
  sum3 = (sum3 * modinv(3)) % mod;
  sum4 = (modexp(4, ((c2) % mod / 2) % mod) % mod - 1 + mod) % mod;
  sum4 = (sum4 * modinv(3)) % mod;
  sum4 = (sum4 * 2) % mod;
  long long rnew1 =
      (((((r - modexp(2, c2)) % mod + mod) % mod + 1) % mod) + sum3) % mod;
  long long rnew2 =
      (((((r - modexp(2, c2)) % mod + mod) % mod + 1) % mod) + sum4) % mod;
  long long sumr = (sum3 % mod * sum3 % mod) % mod;
  sumr = (sumr % mod + (sum4 * (sum4 + 1) % mod) % mod) % mod;
  if (c2 % 2 != 0)
    c4 = (((rnew2 * (rnew2 + 1)) % mod - (sum4 * (sum4 + 1)) % mod) % mod +
          mod) %
         mod;
  else
    c4 = (((rnew1 * (rnew1)) % mod - (sum3 * (sum3)) % mod) % mod + mod) % mod;
  sumr = (sumr + c4) % mod;
  cout << ((sumr - suml) % mod + mod) % mod << endl;
  return 0;
}
