#include #include #include #define DX 400100 using namespace std; int comb[DX],nr[DX],MOD,x[DX]; map ap; vector r; void desc(int x) { int i,a; if(nr[x]!=0) { ap[x]++; return ; } for(i=1;i<=x/2;i++) { a=x-i; if(comb[i]!=0 && nr[a]!=0) { desc(i); desc(a); return ; } } } int main() { int a,n,i,j; cin>>n; MOD=n+1; for(i=1;i<=n;i++) { cin>>x[i]; nr[x[i]%MOD]++; } for(i=1;i<=n;i++) { comb[i]=nr[i]; for(j=1;j<=i/2;j++) { a=i-j; if(j!=a) comb[i]+=min(comb[j],nr[a]); else comb[i]+=comb[j]/2; } } desc(n); for(i=1;i<=n;i++) { if(ap[x[i]%MOD]>0) { ap[x[i]%MOD]--; r.push_back(x[i]); } } cout<