Загрузка [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
 

print2080. Пляшущие биты

printПляшущие биты

Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Уважаемый мистер Шерлок Холмс. Я нигде не могу найти Бубенчика.
Пожалуйста, пожалуйста, пожалуйста, не могли бы вы помочь?
     Маленькая девочка
Дело Бубенчика привлекло Шерлока куда больше, чем дело Генри Найта. Поэтому он в тайне от всех на секретной военной базе Баскервиль нашел компьютер, где есть полное досье на Бубенчика. Но, к сожалению, компьютер оказался хитро запаролен.
Компьютер показал Шерлоку два числа L и R. Пароль же представляет собой набор различных троек чисел x, y и z таких, что
L 
и
((x\ |\ y)\ ==\ (y z))
где | – битовая операция ИЛИ,  – битовая операция исключающее ИЛИ (xor, сложение по модулю 2).
У Шерлока нет устройства, которое вычислило бы все такие тройки автоматически. Помогите Шерлоку найти хотя бы количество таких троек.
В единственной строке входного файла заданы два числа L и R (1\ ≤\ L\ ≤\ R\ ≤\ 5*10^8) – числа, которые показал компьютер.
В единственной строке выведите количество различных троек чисел, удоволетворяющих заданным условиям.

Пример ввода

3 7 

Пример вывода

6
Обратите внимание на то, что тройки, отличающиеся только порядком этих трех чисел, являютcя различными.
Источник: neerc.ifmo.ru/school
loading