#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int n,sum[1000],buc[500010],a[1000];
int main() {
while(scanf("%d",&n)!=EOF) {
memset(buc,0,sizeof(buc));
memset(a,0,sizeof(a));
memset(sum,0,sizeof(sum));
int m=n*(n-1)/2;
for(int i=1; i<=m; i++) scanf("%d",&sum[i]),buc[sum[i]]++;
sort(sum+1,sum+m+1);
int st;
bool flag;
for(int k=0; k<=sum[1]/2; k++) {
memset(buc,0,sizeof(buc));
for(int i=1; i<=m; i++) buc[sum[i]]++;
st=0;
flag=true;
a[1]=k;
for(int i=2; i<=n; i++) {
while(buc[st]==0) st++;
a[i]=st-a[1];
if(a[i]<a[i-1]) {
flag=false;
break;
}
for(int j=1; j<i; j++) {
if(buc[a[i]+a[j]]>0) buc[a[i]+a[j]]--;
else {
flag=false;
break;
}
}
if(!flag) break;
}
if(flag) {
for(int i=1; i<=n; i++) printf("%d ",a[i]);
printf("\n");
break;
}
}
if(!flag) printf("Impossible\n");
}
}