#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long int n;
  cin >> n;
  long long int a, c1 = 0, c2 = 0, c3 = 0;
  vector<long long int> v1;
  vector<long long int> v2;
  vector<long long int> v3;
  for (int i = 1; i <= n; i++) {
    cin >> a;
    if (a == 0) {
      v3.push_back(a);
    } else if (a > 0) {
      v2.push_back(a);
    } else {
      v1.push_back(a);
    }
  }
  if (v2.size() == 0) {
    for (int i = 0; i < 2; i++) {
      v2.push_back(v1.back());
      v1.pop_back();
    }
  }
  if (v1.size() % 2 == 0) {
    v3.push_back(v1.back());
    v1.pop_back();
  }
  cout << v1.size() << " ";
  for (int i = 0; i < v1.size(); i++) cout << v1[i] << " ";
  cout << endl;
  cout << v2.size() << " ";
  for (int i = 0; i < v2.size(); i++) cout << v2[i] << " ";
  cout << endl;
  cout << v3.size() << " ";
  for (int i = 0; i < v3.size(); i++) cout << v3[i] << " ";
  cout << endl;
}
int main() {
  solve();
  return 0;
}
