#include<iostream>
#include<map>
#include<vector>
#define DX 400100
using namespace std;
int comb[DX],nr[DX],MOD,x[DX];
map<int,int> ap;
vector<int> 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<<r.size()<<"\n";
    for(i=0;i<r.size();i++)
    {
        cout<<r[i]<<" ";
    }
}