#include #include #include #include using namespace std; template string join(vector v, string s = " "){ stringstream ss; for(int i = 0; i < v.size(); i++){ if(i) ss << s; ss << v[i]; } return ss.str(); } int main(){ int d; cin >> d; d++; vector a(d), v; for(int i = 0; i < d; i++) cin >> a[i]; reverse(a.begin(), a.end()); for(int i = 0; i < max(0, d - 3); i++) a[i + 2] += a[i]; for(int i = 0; i < d; i++) cerr << a[i] << ' '; cerr << endl; bool f = false; for(int i = 0; i < min(d, 3); i++) if(f || a[d - min(d, 3) + i]){ v.emplace_back(a[d - min(d, 3) + i]); f = true; } if(!f) v.emplace_back(0); reverse(v.begin(), v.end()); cout << v.size() - 1 << endl; cout << join(v) << endl; }