#include <bits/stdc++.h>
const long long MOD = 1000000007;
long long f(long long nr) {
  long long p = 1;
  long long par = 0, impar = 0;
  int rand = 1;
  while (par + impar + p <= nr) {
    if (rand == 1) {
      impar += p;
      rand = 2;
    } else if (rand == 2) {
      par += p;
      rand = 1;
    }
    p *= 2;
  }
  if (rand == 1)
    impar += nr - par - impar;
  else
    par += nr - par - impar;
  return (((impar % MOD) * (impar % MOD) % MOD) +
          ((par % MOD) * ((par + 1) % MOD) % MOD)) %
         MOD;
}
int main() {
  long long a, b;
  scanf("%lld%lld", &a, &b);
  printf("%lld", (MOD + f(b) - f(a - 1)) % MOD);
  return 0;
}
