ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

Чемпионат Урала 2015

Описание     Задачи     Отправить на проверку     Состояние проверки     Результаты
Соревнование завершено

D. Химия

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Андроид Вася посещает занятия по химии. Весь последний семестр группа Васи занимается сухими жидкостями. На лабораторной работе по смешиванию жидкостей Васе достался оксид кислорода. Важной особенностью этого вещества являются непредсказуемые последствия при переливании. Жидкость гарантированно остается стабильной, только если смешивать ее в пропорции один к одному.
У Васи есть n пробирок, в каждую из которых он уже налил по одному нанолитру оксида кислорода. Зная о свойствах оксида, Вася готов переливать его из одной пробирки в другую только так, чтобы в результате переливания объем оксида во второй пробирке удваивался. Для проведения опыта Васе нужно получить в одной из пробирок ровно k нанолитров оксида. Помогите ему это сделать.

Исходные данные

В единственной строке записаны целые числа n и k (1 ≤ n ≤ 100 000; 1 ≤ kn).

Результат

Выведите последовательность действий, после которых в первой пробирке окажется ровно k нанолитров оксида кислорода. В первой строке выведите количество переливаний m (0 ≤ m ≤ 3n). Далее в m строках выведите пары чисел a, b (1 ≤ a, bn; ab), означающие, что из пробирки с номером a нужно перелить оксид в пробирку с номером b. Если искомой последовательности переливаний не существует, выведите −1. Если существуют различные подходящие последовательности, выведите любую из них. Гарантируется, что если подходящая последовательность существует, то существует и последовательность, состоящая из не более чем 3n переливаний.

Примеры

исходные данныерезультат
5 3
4
2 1
4 3
3 1
1 5
5 5
-1
Автор задачи: Даниил Айзенштейн (подготовил Егор Щелконогов)
Источник задачи: XIX Открытый чемпионат Урала по спортивному программированию (апрель, 2015)
Чтобы отправить решение этой задачи на проверку перейдите в Архив задач: 2049. Химия