#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;   }   