Когда происходит печать
документа, обычно первая страница печатается первой, вторая - второй, третья -
третьей и так далее до конца. Но иногда при создании буклета порядок печати
должен быть другим. При печати буклета на одном листе печатаются четыре страницы:
две - на лицевой стороне, и две - на обратной. Когда вы сложите все листы по
порядку и согнете их пополам, страницы будут идти в правильном порядке, как у
обычной книги. Например, 4-х страничный буклет должен быть напечатан на одном
листе бумаги: лицевая сторона должна содержать сначала страницу 4, потом - 1,
обратная - 2 и 3.

Если в буклете число страниц
не кратно четырем, то в конце можно добавить несколько пустых страниц, но так,
чтобы количество листов бумаги при этом было минимально возможным.
Ваша задача - написать
программу, которая считывает из входного потока количество страниц в буклете и
генерирует порядок его печати.
input
Количество
страниц в буклете - натуральное число, не превышающее 500.
output
Необходимо
вывести порядок печати данного буклета - последовательность команд, каждая из
которых располагается на отдельной строке и состоит из четырех чисел. Числа
разделяются пробелом и обозначают следующее:
- Номер
листа, на котором происходит печать.
- Сторону:
1 - если печать происходит на лицевой стороне, и 2 - если на обратной.
- Два
оставшихся числа - номера страниц буклета, которые должны быть напечатаны.
Пустая страница задается числом 0. Если целая сторона должна быть
оставлена пустой, команду для ее печати выводить не обязательно.
Sample
input
|
Sample
output
|
1
|
1 1 0 1
|
4
|
1 1 4 1
1 2 2 3
|
14
|
1 1 0 1 1 2 2 0 2 1 14 3 2 2 4 13 3 1 12 5 3 2 6 11 4 1 10 7
4 2 8 9
|