#include <bits/stdc++.h>
using namespace std;
const int mxn = 110;
int num[mxn];
int ans[mxn];
int main() {
  int n;
  int cnt = 0;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> num[i];
  int negCnt = 0, zeroCnt = 0, first = -200;
  for (int i = 0; i < n; i++) {
    if (num[i] == 0)
      zeroCnt++;
    else if (num[i] > 0) {
      ans[cnt++] = num[i];
    } else if (num[i] < 0) {
      negCnt++;
      first = max(first, num[i]);
    }
  }
  int firCnt = 0;
  for (int i = 0; i < n; i++) firCnt += num[i] == first;
  int in = 0;
  if (negCnt == 1) {
    if (cnt == 0) {
      if (zeroCnt == 0)
        ans[cnt++] = first;
      else
        ans[cnt++] = 0;
    }
  } else if (negCnt > 1) {
    for (int i = 0; i < n; i++) {
      if (num[i] >= 0) continue;
      if (num[i] == first) {
        if (!(negCnt & 1)) {
          ans[cnt++] = first;
        } else if (in < firCnt - 1) {
          ans[cnt++] = first;
          in++;
        }
      } else {
        ans[cnt++] = num[i];
      }
    }
  } else if (negCnt == 0) {
    if (cnt == 0 && zeroCnt != 0) ans[cnt++] = 0;
  }
  for (int i = 0; i < cnt; i++)
    printf("%d%c", ans[i], (i == cnt - 1 ? '\n' : ' '));
  return 0;
}
