#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long a[100010]; long long b[100010]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i += 2) { if (a[i] < 2) { cout << "-1" << endl; return 0; } if (a[i] - a[i + 1] < 2) { cout << "-1" << endl; return 0; } } b[0] = 1; for (int i = 0; i < n; i++) { if (i % 2 == 0){ b[i + 1] = a[i] - b[i]; } else { b[i + 1] = b[i] - a[i]; } } for (int i = 1; i <= n; i++) { if (b[i] <= 0) { cout << "-1" << endl; return 0; } } cout << n + 1 << endl; for (int i = 0; i <= n; i++) { cout << b[i] << endl; } return 0; }