#include using namespace std; typedef long long ll; #include typedef boost::multiprecision::cpp_int bint; int main(){ int N; cin >> N; vector F(N+1); for (int i = 0; i <= N; i++) { cin >> F[i]; } vector fact(30); fact[0] = fact[1] = 1; for (int i = 2; i < 30; i++) { fact[i] = fact[i-1] * i; } auto comb = [&fact](int n, int r){ return fact[n] / fact[r] / fact[n-r]; }; vector H(N+1); for (int i = 0; i <= N; i++) { H[i] = F[i]; for (int j = i; j <= N; j++) { F[j] -= H[i] * comb(N-i, j-i); } } for (int i = 0; i <= N; i++) { cout << H[i] << ' '; } cout << '\n'; return 0; } /* File : ~/yukicoder/528/A.cpp Date : 2025/02/21 Time : 21:20:34 */