#include<iostream>
using namespace std;
const int maxn = 500;
int n;
int nums[maxn * maxn];
int ans[maxn];
int main()
{
    cin >> n;
    for(int i = 0; i < (n * (n - 1)) / 2; i ++)
    {
        cin >> nums[i];
    }
    int ab = nums[0];
    int ac = nums[1];
    int bc = -1;
    int id = -1;
    int cnt = 0;
    for(int i = 2; i < 2 + (n - 2); i ++)
    {
        if((ab + ac - nums[i]) % 2 == 0)
        {
            //cout << i << endl;
            if(bc == -1 || (ab + ac - nums[i]) < (ab + ac - nums[id]))
            {
                bc = nums[i];
                id = i;
            }
            cnt ++;
        }
    }
    ans[0] = (ab + ac - bc) / 2;
    ans[1] = ab - ans[0];
    ans[2] = ac - ans[0];
    int j = 2;
    for(int i = 3; i < n; i ++)
    {
        if(j == id) j ++;
        ans[i] = nums[j] - ans[0];
        j ++;
    }
    cout << cnt << endl;
    for(int i = 0; i < n; i ++)
    {
        cout << ans[i] << " ";
    }
    cout << endl;
}
