//laptrinhsgu.wordpress.com
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,t=0,f[10001],d[10001];
cin>>n;
int a[n+1];
for (int i=1;i<=n;i++)
{
cin>>a[i];
t=t+a[i];
}
t=t/2;
//QHD
for (int i=1;i<=t;i++)
{
f[i]=INT_MAX;
for (int j=1;j<=n;j++)
if (i>=a[j] && j>f[i-a[j]])
{
f[i]=j;
break;
}
}
//Truyvet
while (f[t] > n) t--;
while (t > 0)
{
d[f[t]]=1;
t=t-a[f[t]];
}
int sum1 = 0, sum2 = 0;
for (int i=1;i<=n;i++)
if (d[i]==1)
{
cout<<a[i]<<" ";sum1+=a[i];
}
cout<<endl;
for (int i=1;i<=n;i++)
{
if (d[i]!=1)
{
sum2+=a[i];cout<<a[i]<<" ";
}
}
cout<<endl<<sum1<<' '<<sum2<<endl;
}
Ly9sYXB0cmluaHNndS53b3JkcHJlc3MuY29tCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCkKewoJaW50IG4sdD0wLGZbMTAwMDFdLGRbMTAwMDFdOwoJY2luPj5uOwoJaW50IGFbbisxXTsKCWZvciAoaW50IGk9MTtpPD1uO2krKykKCSAgIHsKCSAgIAljaW4+PmFbaV07CgkgICAJdD10K2FbaV07CgkgICB9Cgl0PXQvMjsKLy9RSEQKCWZvciAoaW50IGk9MTtpPD10O2krKykKCXsKCQlmW2ldPUlOVF9NQVg7CgkgICBmb3IgKGludCBqPTE7ajw9bjtqKyspCgkgICAgICBpZiAoaT49YVtqXSAmJiBqPmZbaS1hW2pdXSkgCgkgICAgICB7CgkgICAgICAJZltpXT1qOwoJICAgICAgCWJyZWFrOwoJCSAgfQoJfQoKLy9UcnV5dmV0Cgl3aGlsZSAoZlt0XSA+IG4pIHQtLTsKCXdoaWxlICh0ID4gMCkKCXsKCQlkW2ZbdF1dPTE7CgkJdD10LWFbZlt0XV07Cgl9CglpbnQgc3VtMSA9IDAsIHN1bTIgPSAwOwoJZm9yIChpbnQgaT0xO2k8PW47aSsrKQoJICAgaWYgKGRbaV09PTEpCgkgICB7CgkgICAJIGNvdXQ8PGFbaV08PCIgIjtzdW0xKz1hW2ldOwoJICAgfQoJICAgY291dDw8ZW5kbDsKCWZvciAoaW50IGk9MTtpPD1uO2krKykKCXsKCQlpZiAoZFtpXSE9MSkKCQl7CgkJCXN1bTIrPWFbaV07Y291dDw8YVtpXTw8IiAiOwoJCX0KCQkJCgl9CgkJY291dDw8ZW5kbDw8c3VtMTw8JyAnPDxzdW0yPDxlbmRsOwp9