Джек Горобець — один з найвеличніших капітанів. Коли він знайшов новий скарб, він порахував кількість монет. Однак, коли він пізніше перевірив свої монети, він зрозумів, що деякі з них пропали. Джек Горобець — дуже приблизна людина, тому він хоче визначити, скільки монет він втратив.
Він помітив, що для кожного сегмента його подорожі, від -го кілометра до -го кілометра, кількість монет, які він втрачає в кожному кілометрі, обчислюється за формулою:
Де представляє операцію бітового AND, а представляє операцію бітового XOR.
Джек також знає, що він проходить від -го кілометра до -го кілометра, де a \leq l \leq r \leq b для всіх і в різний час.
Тепер капітан хоче знайти кількість втрачених монет. very important ! : answer mod 1e6+3
Формально, обчисліть наступне:
Перший рядок містить одне ціле число (1 \le t \leq 10^4) — кількість тестових випадків.
Кожен тестовий випадок містить два цілі числа , (1 \leq a \leq b \leq 10^{9}, b - a \leq 2\cdot10^5) — межі діапазону.
Гарантується, що \sum (b-a) по всіх тестових випадках не перевищує 2\cdot10^5.
Для кожного тестового випадку виведіть кількість втрачених монет за модулем 10^9 + 7. very important ! : answer mod 1e6+3
Приклад 1
У першому тестовому випадку капітан не рухався, тому він не втратив жодної монети.
У другому тестовому випадку капітан проходить ці діапазони:
: Він втратив (2\ \&\ 3) + (2\ \oplus \ 3) = 3 монети за кожен кілометр. Є один кілометр, тому він втратив монети за цей діапазон.
: Він втратив (2\ \&\ 4) + (2\ \oplus \ 4) = 6 монет за кожен кілометр. Є два кілометри. У першому кілометрі він втратив монет, а в другому кілометрі він втратив монет. Отже, він втратив монет всього за цей діапазон.
: Він втратив (3\ \&\ 4) + (3\ \oplus \ 4) = 7 монет за кожен кілометр. Є один кілометр, тому він втратив монет за цей діапазон.
Врешті-решт, капітан втратив 3 + 12 + 7 = 22 монети.
Підзадача ( балів) : (1 \le a \le b \le 40)
Підзадача ( балів) : (1 \le \sum (b-a) \le 1000)
Підзадача ( балів) : Без додаткових обмежень