A. Массив
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

У Виталия есть массив из n различных целых чисел. Виталий хочет разделить этот массив на три непустых множества так, чтобы были выполнены условия:

  1. Значение произведения всех чисел в первом множестве было меньше нуля ( < 0).
  2. Значение произведения всех чисел во втором множестве было больше нуля ( > 0).
  3. Произведение всех чисел в третьем множестве было равно нулю.
  4. Каждое число из исходного массива должно находиться ровно в одном из множеств.

Помогите Виталию. Разделите заданный массив.

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

В первой строке входных данных записано целое число n (3 ≤ n ≤ 100). Во второй строке через пробел записаны n различных целых чисел a1, a2, ..., an (|ai| ≤ 103) — элементы массива.

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

В первой строке выведите целое число n1 (n1 > 0) — количество чисел в первом множестве. Далее выведите n1 чисел — числа, которые попали в первое множество.

В следующей строке выведите целое число n2 (n2 > 0) — количество чисел во втором множестве. Далее выведите n2 чисел — числа, которые попали во второе множество.

В следующей строке выведите целое число n3 (n3 > 0) — количество чисел в третьем множестве. Далее выведите n3 чисел — числа, которые попали в третье множество.

Выведенные множества должны удовлетворять описанным условиям. Гарантируется, что решение существует. Если существует несколько решений, разрешается вывести любое.

Примеры
Входные данные
3
-1 2 0
Выходные данные
1 -1
1 2
1 0
Входные данные
4
-1 -2 -3 0
Выходные данные
1 -1
2 -3 -2
1 0