#include <bits/stdc++.h>
using namespace std;
void fastio() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
long long power(long long a, long long b) {
  if (b == 0) {
    return 1;
  } else {
    if (b % 2 == 0) {
      return (a * power((a * a) % 1000000007, b / 2)) % 1000000007;
    } else {
      return power((a * a) % 1000000007, b / 2);
    }
  }
}
int main() {
  fastio();
  long long l, r;
  cin >> l >> r;
  long long even1 = 0, odd1 = 0;
  long long p = 0;
  l--;
  while (l > 0) {
    long long t = min((long long)pow(2LL, p), l);
    if (p % 2 == 0) {
      odd1 += t;
      odd1 %= 1000000007;
    } else {
      even1 += t;
      even1 %= 1000000007;
    }
    p++;
    l -= t;
  }
  long long even2 = 0, odd2 = 0;
  p = 0;
  while (r > 0) {
    long long t = min((long long)pow(2LL, p), r);
    if (p % 2 == 0) {
      odd2 += t;
      odd2 %= 1000000007;
    } else {
      even2 += t;
      even2 %= 1000000007;
    }
    p++;
    r -= t;
  }
  long long sum1 = (even1 * (even1 + 1)) % 1000000007;
  sum1 = (sum1 + (odd1 * odd1) % 1000000007) % 1000000007;
  long long sum2 = (even2 * (even2 + 1)) % 1000000007;
  sum2 = (sum2 + (odd2 * odd2) % 1000000007) % 1000000007;
  cout << (sum2 - sum1 + 1000000007) % 1000000007;
  return 0;
}
