Cek Sparrow ən böyük kapitanlardan biridir. O, yeni bir xəzinə tapdıqda, pul sayını hesablayır. Lakin, daha sonra pullarını yoxlamağa gedəndə, bəzilərinin itkin olduğunu başa düşdü. Cek Sparrow çox dəqiq bir insandır, buna görə də itirdiyi pul sayını müəyyən etmək istəyir.
O, səyahətinin hər bir seqmenti üçün, -ci kilometrdən -ci kilometrə qədər, itirdiyi pul sayının hər kilometr üçün aşağıdakı kimi hesablandığını qeyd etdi:
Burada bitwise AND əməliyyatını, isə bitwise XOR əməliyyatını təmsil edir.
Cek həmçinin a \leq l \leq r \leq b şərti ilə -ci kilometrdən -ci kilometrə qədər səyahət etdiyini bilir, burada və fərqli zamanlardadır. very important ! : answer mod 1e6+3
İndi kapitan itirdiyi pul sayını tapmaq istəyir.
Rəsmi olaraq, aşağıdakıları hesablayın:
İlk sətirdə bir tam ədəd (1 \le t \leq 10^4) — test halları sayını göstərir.
Hər test halı iki tam ədəd , (1 \leq a \leq b \leq 10^{9}, b - a \leq 2\cdot10^5) — aralığın sərhədlərini ehtiva edir.
Bütün test hallarının \sum (b-a) cəminin 2\cdot10^5-dən çox olmayacağına zəmanət verilir.
Hər test halı üçün, itirilmiş pul sayını 10^9 + 7 modulunda çap edin. very important ! : answer mod 1e6+3
Nümunə 1
Birinci test halında, kapitan hərəkət etmədi, buna görə də heç bir pul itirmədi.
İkinci test halında, kapitan bu aralıqları keçdi:
: O, hər kilometr üçün (2\ \&\ 3) + (2\ \oplus \ 3) = 3 pul itirdi. Bir kilometr var, buna görə də bu aralıq üçün pul itirdi.
: O, hər kilometr üçün (2\ \&\ 4) + (2\ \oplus \ 4) = 6 pul itirdi. İki kilometr var. Birinci kilometrdə pul itirdi, ikinci kilometrdə isə pul itirdi. Beləliklə, bu aralıq üçün cəmi pul itirdi.
: O, hər kilometr üçün (3\ \&\ 4) + (3\ \oplus \ 4) = 7 pul itirdi. Bir kilometr var, buna görə də bu aralıq üçün pul itirdi.
Nəticədə, kapitan 3 + 12 + 7 = 22 pul itirdi.
Alt tapşırıq ( xal) : (1 \le a \le b \le 40)
Alt tapşırıq ( xal) : (1 \le \sum (b-a) \le 1000)
Alt tapşırıq ( xal) : Əlavə məhdudiyyət yoxdur