| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 17 | 9 | 8 | 53.333% |
Как вы уже знаете, Ральф мечтает стать лучшим в какой-нибудь игре, завоевать в ней золотую медаль и стать настоящим героем! На этот раз Ральф решил всем показать что он не только сильный и храбрый, но еще и очень умный, именно поэтому он отправился в игру <<Праздничные вычисления по сахарному модулю>>.
Цель игры проста: игроку даются два числа. Используя калькулятор, требуется найти $x \oplus y$. Выражение $x \oplus y$ обозначает применение операции побитового исключающего или (побитового сложения по модулю 2) к числам $x$ и $y$. Данная операция есть во всех современных языках программирования, например, в языке C++ и Java она обозначается \^, в Pascal --- xor.
Калькулятор хранит в памяти все числа, которые были получены игроком во время игры, а так же умеет складывать числа, вычитать их, умножать или целочисленно делить число на $2$. При этом память калькулятора, конечно же, ограничена: он не может хранить более $1000$ целых чисел. Кроме того, все числа, хранящиеся в калькуляторе должны лежать в диапазоне от $0$ до $2^{31}-1$ включительно. Изначально в памяти калькулятора лежат числа $x$ и $y$. Игрок может использовать только числа, хранящиеся в памяти калькулятора.
Ральф --- очень умный парень, вот только с Ванилопой снова стряслась беда, он спешит к ней на помощь. Поэтому стать лучшим в игре <<Праздничные вычисления по сахарному модулю>> придется именно вам!
В первой строке даны два целых числа $x$ и $y$ --- числа, которые изначально лежат в памяти калькулятора ($1 \leq x, y \leq 10^9$).
В первой строке выведите $n$ --- количество действий, которое нужно совершить игроку для победы в игре ($1 \leq n \leq 1000$).
В каждой из последующих $n$ строк выведите сначала тип действия, который вы хотите совершить на текущем шаге:
Если тип операции $1$ или $2$, далее через пробел выведите два числа --- номера итераций, на которых каждое из используемых чисел было получено. Если тип операции $3$ или $4$, выведите одно число --- номер итерации, на которой используемое число было получено.
Например, чтобы вычесть из числа, полученного на итерации 3 число, полученное на итерации 4, следует вывести <<$2$ $3$ $4$>>.
Будем считать, что числа $x$ и $y$ из входных данных были получены на $1$-й и $2$-й итерациях соответственно.
Обратите внимание, что число $x \oplus y$ должно быть получено на последней итерации. От вас не требуется найти минимальный по количеству действий ответ.
1 2
3 3 1 4 2 1 3 4
15 4
1 2 1 2