Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Битовая магия

(Время: 1 сек. Память: 64 Мб Сложность: 55%)

Даны три неотрицательных целых числа b, l и r, записанные в шестнадцатеричной системе счисления.

Напомним, что шестнадцатеричная система счисления (основание 16) использует цифры 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, где A соответствует числу 10, B – 11, C – 12, D – 13, E – 14, F – 15. Например, число 1F в шестнадцатеричной системе равно 1 · 16 + 15 = 31 в десятичной системе.

Операция & обозначает побитовое AND (побитовое «И») над двоичными представлениями чисел. Рассмотрим двоичные записи чисел x и b, при необходимости дополним их слева нулями до равной длины. Для каждого разряда i:

То есть в каждом бите результат равен 1 тогда и только тогда, когда в этом бите у обоих чисел стоит 1.

Определите количество целых чисел x, таких, что l ≤ x ≤ r и выполняется условие x & b = b. Выведите остаток от деления этого количества на 109 + 7.

Входные данные

Во входном файле INPUT.TXT даны три строки: первая строка содержит число l, вторая строка содержит число r, третья строка содержит число b.

Каждое число задано в шестнадцатеричной системе счисления без ведущих нулей (кроме случая самого числа 0) и состоит из символов 0–9, A–F. Длина каждой строки не превосходит 50 000 символов. Гарантируется, что 0 ≤ l ≤ r.

Выходные данные

В выходной файл OUTPUT.TXT выведите одно целое число – количество значений x, для которых выполняются условия задачи, по модулю 109 + 7. Ответ выведите в десятичной системе счисления без ведущих нулей.

Примеры

INPUT.TXTOUTPUT.TXT
18
F
5
2
22
F9
A
60

Примечание

В первом примере из условия подходящими значениями x являются шестнадцатеричные числа D и F.

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 2018 / 2019
 2019 / 2020
 2020 / 2021
 2021 / 2022
 2022 / 2023
 2023 / 2024
 2024 / 2025
 2025 / 2026
 A. Количество конфет
 B. Хромой Король
 C. Расстановки фишек
 D. Прыжки по вершинам
 E. Покраска бруска
 F. Битовая магия
 G. Скользящие окна
 H. XOR Раскраска

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru