/* -*- coding: utf-8 -*- * * 40.cc: No.40 多項式の割り算 - yukicoder */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; /* constant */ const int MAX_D = 10000; const int E = 3; const int ds[] = {0, -1, 0, 1}; /* typedef */ /* global variables */ int as[MAX_D + 1]; /* subroutines */ /* main */ int main() { int d; cin >> d; for (int i = 0; i <= d; i++) cin >> as[i]; for (int i = d; i >= E; i--) { int m = as[i] / ds[E]; for (int j = E; j >= 0; j--) as[i - E + j] -= m * ds[j]; } while (d >= 0 && as[d] == 0) d--; if (d < 0) puts("0\n0\n"); else { printf("%d\n", d); for (int i = 0; i <= d; i++) printf("%d ", as[i]); putchar('\n'); } return 0; }