l,r = gets.split.map(&:to_i)
M = 10**9+7
ans, lb, rb = 0, l.bit_length-1, r.bit_length-1
(lb..rb).each{|i|
  d1,d2,d3,d4,lc,rc = 1,0,0,0,lb==i ? ~l : ~0,rb==i ? r : ~0
  (i-1).downto(0){|j|
    d4 = (d4 * 3 + rc[j] * d2 + lc[j] * d3) % M
    d2 = (d2 * 2 + lc[j] * d1) % M if rc[j] == 1
    d3 = (d3 * 2 + rc[j] * d1) % M if lc[j] == 1
    d1 &= lc[j] | rc[j]
  }
  ans += d1 + d2 + d3 + d4
}
p ans % M