#include <bits/stdc++.h>
using namespace std;
long long get(long long n) {
  long long x = 1, sum = 0;
  long long odd = 0, even = 0;
  long long i;
  for (i = 0; (x + sum <= n); i++) {
    sum += x;
    x *= 2;
  }
  i % 2 ? even += (n - sum) : odd += (n - sum);
  long long j = i;
  for (i = 0; i < j; i++) {
    if (i % 2) {
      even += (1ll << i);
    } else {
      odd += (1ll << i);
    }
  }
  long long ans = 0;
  ans = ans + ((odd % 1000000007) * (odd % 1000000007)) % 1000000007;
  ans %= 1000000007;
  ans = ans + (((even % 1000000007) + 1) * ((even % 1000000007))) % 1000000007;
  ans %= 1000000007;
  return ans;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long l, r;
  cin >> l >> r;
  long long ans = get(r) - get(l - 1);
  ans %= 1000000007;
  if (ans < 0) {
    ans += 1000000007;
  }
  cout << ans;
  return 0;
}
