#include <bits/stdc++.h>
using namespace std;
int a[110], b1[110], b2[110], b3[110];
int main() {
  int n1, n2, n3, i, j, N, ok;
  scanf("%d", &N);
  n1 = n2 = n3 = 0;
  for (i = 0; i < N; i++) {
    scanf("%d", &a[i]);
    if (a[i] > 0 && n1 == 0) {
      b1[n1++] = a[i];
      continue;
    }
    if (a[i] < 0 && n2 == 0) {
      b2[n2++] = a[i];
      continue;
    }
    b3[n3++] = a[i];
  }
  ok = 0;
  if (n1 == 0) {
    for (i = 0; !ok && i < n3; i++)
      for (j = i + 1; !ok && j < n3; j++) {
        if (b3[i] < 0 && b3[j] < 0) {
          b1[n1++] = b3[i];
          b1[n1++] = b3[j];
          ok = 1;
          b3[i] = b3[j] = 10000;
        }
      }
  }
  printf("%d", n2);
  for (i = 0; i < n2; i++) printf(" %d", b2[i]);
  puts("");
  printf("%d", n1);
  for (i = 0; i < n1; i++) printf(" %d", b1[i]);
  puts("");
  printf("%d", n3 - 2 * ok);
  for (i = 0; i < n3; i++) {
    if (b3[i] != 10000) printf(" %d", b3[i]);
  }
  puts("");
  return 0;
}
