#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, i, j, k, p = 0, q = 0, r = 0, z = 0;
  vector<int> v, a, b, c;
  cin >> n;
  for (i = 0; i < n; i++) {
    int x;
    cin >> x;
    v.push_back(x);
    if (x > 0) {
      z++;
    }
  }
  sort(v.begin(), v.end());
  for (i = 0; i < n; i++) {
    if (v[i] < 0 && p == 0) {
      a.push_back(v[i]);
      p++;
    } else if (v[i] < 0 && z == 0 && q <= 1) {
      b.push_back(v[i]);
      q++;
    } else if (v[i] > 0 && r == 0 && z > 0) {
      b.push_back(v[i]);
      r++;
    } else {
      c.push_back(v[i]);
    }
  }
  cout << a.size() << " ";
  for (i = 0; i < a.size(); i++) {
    cout << a[i] << " ";
  }
  cout << "\n";
  cout << b.size() << " ";
  for (i = 0; i < b.size(); i++) {
    cout << b[i] << " ";
  }
  cout << "\n";
  cout << c.size() << " ";
  for (i = 0; i < c.size(); i++) {
    cout << c[i] << " ";
  }
  return 0;
}
