#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n;
  long long arr[100];
  cin >> n;
  for (int i = 0; i < n; i++) cin >> arr[i];
  int n1 = 0, n2 = 0;
  int a1[100] = {}, a2[100] = {}, a3[100] = {};
  bool ar[100] = {};
  int l1 = 0, r1 = 0;
  int l2 = 0, r2 = 0;
  long long sum;
  for (; l1 < n; l1++) {
    int co = 0;
    bool f = false;
    long long s = 1;
    for (int i = l1; i < n; i++) {
      s *= arr[i];
      co++;
      if (s < 0) {
        n1 = co;
        f = true;
        l2 = i + 1;
        for (int j = 0; j < n1; j++) {
          a1[j] = arr[l1 + j];
          ar[l1 + j] = true;
        }
        break;
      }
    }
    if (f == true) break;
  }
  for (; l2 < n; l2++) {
    int co = 0;
    long long s = 1;
    bool f = false;
    for (int i = l2; i < n; i++) {
      s *= arr[i];
      co++;
      if (s > 0) {
        n2 = co;
        f = true;
        for (int j = 0; j < n2; j++) {
          a2[j] = arr[l2 + j];
          ar[l2 + j] = true;
        }
        break;
      }
    }
    if (f == true) break;
  }
  int n3 = n - n1 - n2;
  cout << n1 << " ";
  for (int i = 0; i < n1; i++) cout << a1[i] << " ";
  cout << endl;
  cout << n2 << " ";
  for (int i = 0; i < n2; i++) cout << a2[i] << " ";
  cout << endl;
  cout << n3 << " ";
  for (int i = 0; i < n; i++) {
    if (ar[i] == false) cout << arr[i] << " ";
  }
}
