#include <bits/stdc++.h>
using namespace std;
int N;
vector<long long> e;
long long A[30009], ai;
bool vis[30009];
void Init() {
  cin >> N;
  for (int i = 1; i <= N; i++) cin >> A[i];
}
void SpOut() { vis[N] = false; }
bool ok() {
  e.clear();
  for (int i = 1; i <= N; i++)
    if (!vis[i]) e.push_back(A[i]);
  if (e.empty()) {
    SpOut();
    return true;
  }
  if (e.size() <= 2) return true;
  long long q = e[1] - e[0];
  for (int i = 2; i < e.size(); i++)
    if (e[i] - e[i - 1] != q) return false;
  return true;
}
bool okok() {
  if (ok()) return true;
  for (int i = N; i >= 1; i--)
    if (vis[i]) {
      vis[i] = false;
      break;
    }
  if (ok()) return true;
  return false;
}
void Solve() {
  long long q;
  q = A[2] - A[1];
  ai = A[2];
  for (int i = 1; i <= N; i++) vis[i] = false;
  vis[1] = true;
  vis[2] = true;
  for (int i = 3; i <= N; i++) {
    if (A[i] - ai == q) {
      ai = A[i];
      vis[i] = true;
    }
  }
  if (okok()) {
    for (int i = 1; i <= N; i++)
      if (vis[i]) cout << A[i] << " ";
    cout << "\n";
    for (int i = 1; i <= N; i++)
      if (!vis[i]) cout << A[i] << " ";
    cout << "\n";
    return;
  }
  q = A[3] - A[1];
  ai = A[3];
  for (int i = 1; i <= N; i++) vis[i] = false;
  vis[1] = true;
  vis[3] = true;
  for (int i = 4; i <= N; i++) {
    if (A[i] - ai == q) {
      ai = A[i];
      vis[i] = true;
    }
  }
  if (okok()) {
    for (int i = 1; i <= N; i++)
      if (vis[i]) cout << A[i] << " ";
    cout << "\n";
    for (int i = 1; i <= N; i++)
      if (!vis[i]) cout << A[i] << " ";
    cout << "\n";
    return;
  }
  q = A[3] - A[2];
  ai = A[3];
  for (int i = 1; i <= N; i++) vis[i] = false;
  vis[3] = true;
  vis[2] = true;
  for (int i = 4; i <= N; i++) {
    if (A[i] - ai == q) {
      ai = A[i];
      vis[i] = true;
    }
  }
  if (okok()) {
    for (int i = 1; i <= N; i++)
      if (vis[i]) cout << A[i] << " ";
    cout << "\n";
    for (int i = 1; i <= N; i++)
      if (!vis[i]) cout << A[i] << " ";
    cout << "\n";
    return;
  }
  cout << "No solution\n";
  return;
}
int main() {
  Init();
  Solve();
}
