#include <bits/stdc++.h>
using namespace std;
long long l, r, raod, pwk[200], pwl[200], mod = 1000000007;
long long calc(long long x) {
  long long t = 1, first = 1, lu = 0, ke = 0;
  while (t <= x) {
    if (first)
      ke += t;
    else
      lu += t;
    first ^= 1;
    t *= 2;
  }
  if (first == 1) {
    lu = x - ke;
  } else
    ke = x - lu;
  if (lu % 2 == 0) {
    lu = ((lu / 2) % mod * ((lu + 1) % mod)) % mod * 2LL % mod;
  } else {
    lu = (lu % mod * (((lu + 1) / 2) % mod)) % mod * 2LL % mod;
  }
  ke = ke % mod * (ke % mod);
  return (lu + ke) % mod;
}
int main() {
  cin >> l >> r;
  cout << (calc(r) - calc(l - 1) + mod) % mod;
  return 0;
}
