#include #define K 5000000000000000000 void prans(long long x,long long y[],long long z){ long long i; printf("%lld\n",x); for(i = 1;i <= x;i++){ if(i%4 < 2){ printf("%lld\n",y[i]+z); } else{ printf("%lld\n",y[i]-z); } } } int main(void){ long long n,s,i,a[131072],pmin=1,mmin=K,t; scanf("%lld",&n); a[1] = 1; for(i = 1;i <= n;i++){ scanf("%lld",&s); if(i%2){a[i+1] = s - a[i];}else{a[i+1] = a[i] - s;} if((i+1)%4 < 2){if(a[i+1] < pmin){pmin = a[i+1];}}else{if(a[i+1] < mmin){mmin = a[i+1];}} } if(mmin < 1){printf("-1\n");return 0;} if(mmin-1 < 1-pmin){printf("-1\n");return 0;} prans(n+1,a,1-pmin); return 0; }