#include int n; long xs[112345]; long ys[112345]; int main() { scanf("%d", &n); for(int i = 0; i < n; ++i) { scanf("%ld", &xs[i]); } ys[0] = 1; int prev = 1; for(int i = 0; i < n; ++i) { long y = i % 2 == 0 ? xs[i] - prev : prev - xs[i]; ys[i+1] = y; prev = y; } bool check = true; for(int i = 0; i < n + 1; ++i) { if( ys[i] <= 0 ) check = false; } if( check ) { printf("%d\n", n + 1); for(int i = 0; i < n + 1; ++i) { printf("%ld\n", ys[i]); } } else { printf("-1\n"); } return 0; }