Программа: двоичная запись с удалением второй цифры
Условие
На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1. Строится двоичная запись числа N.
2. Если количество единиц в двоичной записи чётное, то к записи слева дописывается 1, а справа — 0.
3. Если количество единиц нечётное, то к записи справа дописывается 1, а затем из полученной записи удаляется вторая слева цифра.
4. Полученная таким образом запись является двоичной записью искомого числа R.
Например, для N = 5 = 101₂ единиц две, получаем 11010₂ = 26. Для N = 4 = 100₂ единица одна: 100 → 1001 → 101₂ = 5.
Даны числа A и B. Определите, для скольких чисел N из отрезка [A; B] результат R делится на 3, и найдите наибольшее из таких значений R.
Входные данные: два натуральных числа A и B через пробел (1 ≤ A ≤ B ≤ 10^9, B − A ≤ 100 000).
Выходные данные: два числа через пробел — количество подходящих N и наибольшее значение R, кратное 3. Если таких N нет, выведите 0 0.
Пример.
Входные данные:
1 10Выходные данные:
2 9