#include <bits/stdc++.h>
using namespace std;
const int MAX = 110;
int num[MAX], a[MAX], b[MAX], c[MAX];
int main() {
  int n, i, lena = 0, lenb = 0, lenc = 0;
  scanf("%d", &n);
  for (i = 0; i < n; i++) scanf("%d", &num[i]);
  for (i = 0; i < n; i++) {
    if (num[i] < 0)
      a[lena++] = num[i];
    else if (num[i] > 0)
      b[lenb++] = num[i];
    else if (num[i] == 0)
      c[lenc++] = num[i];
  }
  if (lenb == 0) {
    b[lenb++] = a[--lena];
    b[lenb++] = a[--lena];
  }
  if (lena % 2 == 0) {
    c[lenc++] = a[--lena];
  }
  printf("%d", lena);
  for (i = 0; i < lena; i++) printf(" %d", a[i]);
  putchar('\n');
  printf("%d", lenb);
  for (i = 0; i < lenb; i++) printf(" %d", b[i]);
  putchar('\n');
  printf("%d", lenc);
  for (i = 0; i < lenc; i++) printf(" %d", c[i]);
  putchar('\n');
  return 0;
}
