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

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


 

Арифметика и логика

(Время: 0,25 сек. Память: 32 Мб Сложность: 88%)

Готовясь к математическому кружку, учитель раздал Анечке и остальным ученикам специальную учебную ленту. В классе Q учеников. На длинной полоске закреплены N карточек, расположенных слева направо. Карточки прикреплены к ленте маленькими кольцами, поэтому их нельзя снять или переставить – порядок карточек фиксирован. Каждая карточка двусторонняя. С одной стороны написана задача по арифметике, а с другой – логическая задача. У каждой задачи есть уровень сложности – целое число от 1 до P. Чем больше число, тем задача труднее. Карточка закреплена так, что её можно повернуть вокруг кольца. Тогда карточка просто переворачивается, и стороны меняются местами. Никаких других действий с карточками сделать нельзя. Анечка решает задания, двигаясь по ленте слева направо. Ей удобно заниматься, если задания становятся не легче предыдущих.

Анечка может перевернуть некоторые карточки, чтобы попытаться добиться такого расположения. Однако это удаётся не всегда. Например, если карточек две и на них записаны сложности арифметика: (3, 1) и логика: (1, 2), то какие бы карточки ни переворачивали, обязательно получится, что встретится более лёгкая задача после более сложной.

По заданным числам N и P определите, сколько существует различных наборов карточек, для которых Анечка и другие ученики смогут переворотами некоторых карточек добиться такого порядка заданий.

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

Входной файл INPUT.TXT в первой строке содержит натуральное число Q. Далее в каждой строке по два натуральных числа: N, P (1 ≤ Q ≤ 1000;1 ≤ min(N, P) ≤ 200; 1 ≤ max(N, P) ≤ 1018).

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

В выходной файл OUTPUT.TXT выведите ответ для каждого ученика по модулю 109 + 7.

Пример

INPUT.TXTOUTPUT.TXT
13
1 2
2 1
2 2
4
1
11

Автор задачи

Владимир Игоревич Лукьянчиков

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

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


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 ЕГЭ по информатике
 Авторские задачи
 Тренировочные олимпиады
 Фёдор Меньшиков. Олимпиадные задачи по программированию, 2006
 Сборник задач В.И. Лукьянчикова
 Булева Алгебра
 Геометрия
 Динамическое программирование
 Комбинаторика
 Разбор строк
 Разное
 Разное 2
 Рекурсия, перебор
 Системы счисления
 Сортировка и последовательности
 Теория графов
 Формула
 Целочисленная арифметика
 Целочисленная арифметика 2
 Структуры данных
 Бинарный поиск
 Занимательная математика
 Занимательная математика 2
 Занимательная математика 3
 A. Делители 1
 B. Делители 3
 C. Делители 5
 D. Делители 2
 E. Делители 4
 F. Новый ноутбук
 G. Divisor function
 H. Двоякое число 1
 I. Двоякое число 2
 J. Двоякое число 3
 K. Делители факториала 1
 L. Делители факториала 2
 M. Делители факториала 3
 N. Марсианские факториалы 2
 O. Марсианские факториалы 3
 P. Наименьшее число
 Q. Простой наибольший общий делитель
 R. Простые числа нового вида
 S. Удивительная последовательность 1
 T. Удивительная последовательность 2
 U. Упорядоченные дроби 2
 V. Упорядоченные дроби 3
 W. Упорядоченные дроби 4
 X. Функция Эйлера 1
 Y. Функция Эйлера 2
 Z. Арифметика и логика

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