const MOD: i128 = 1_000_000_007; fn main() { proconio::input!{ l: i128, r: i128, }; let mut ans = 0; for i in 0..=18 { let min = 10i128.pow(i).max(l); let max = (10i128.pow(i + 1) - 1).min(r); if min <= max { ans += (i as i128 + 1) * (min + max) * (max - min + 1) / 2; ans %= MOD; } } println!("{}", ans); }