#include <bits/stdc++.h>
using namespace std;
int nums[105];
int main() {
  int N, i, j, t1, t2, t3, s1, s2, s3;
  while (scanf("%d", &N) != EOF) {
    for (i = 0; i < N; i++) scanf("%d", &nums[i]);
    sort(nums, nums + N);
    for (i = 0; i < N; i++) {
      if (nums[i] == 0) {
        s2 = i;
        break;
      }
    }
    s3 = N - 1;
    for (i = s2; i < N; i++) {
      if (nums[i] > 0) {
        s3 = i - 1;
        break;
      }
    }
    printf("%d %d\n", 1, nums[0]);
    if ((s2 - 1) % 2 == 0) {
      int tot = s3 - s2 + 1;
      printf("%d", N - tot - 1);
      for (i = 1; i < s2; i++) printf(" %d", nums[i]);
      for (i = s3 + 1; i < N; i++) printf(" %d", nums[i]);
      printf("\n");
      printf("%d", tot);
      for (i = 0; i < tot; i++) printf(" 0");
      printf("\n");
    } else {
      int tot = s3 - s2 + 1;
      printf("%d", N - tot - 2);
      for (i = 2; i < s2; i++) printf(" %d", nums[i]);
      for (i = s3 + 1; i < N; i++) printf(" %d", nums[i]);
      printf("\n");
      printf("%d", tot + 1);
      printf(" %d", nums[1]);
      for (i = 0; i < tot; i++) printf(" 0");
      printf("\n");
    }
  }
  return 0;
}
