Олимпиадный тренинг

Задача . I. TCMCF+++


Недавно Вася участвовал в соревнованиях по программированию по правилам TCMCF+++. На соревновании предлагалось n задач, и у каждой задачи была цена — некоторое целое число баллов (возможно, отрицательное и даже нулевое). Согласно правилам TCMCF+++, по каждой задаче засчитывались только полные решения, а итоговое количество баллов у участника равнялось произведению цен всех задач, которые он решил. Если человек не решил ничего, то он даже не появлялся в итоговых результатах и не считался участником. Вася понял, что чтобы получать максимальное количество баллов, не всегда выгодно решать все задачи. К сожалению, понял он это только после конца соревнования. Теперь он просит вас помочь ему: выясните, какие задачи нужно было решать, чтобы набрать максимальное количество баллов.

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

В первой строке записано целое число n (1 ≤ n ≤ 100) — количество предложенных задач. В следующей строке через пробел записано n целых чисел ci ( - 100 ≤ ci ≤ 100) — цена i-ой задачи. Цены задач могут совпадать.

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

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


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя