#include #include using namespace std; using namespace atcoder; typedef long long ll; #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) static const double pi = 3.141592653589793; const ll INF = 1LL << 60; const ll mod = 1000000007; const ll imod = 998244353; using mint = modint998244353; vector dx = {1, 0, -1, 0}, dy = {0, 1, 0, -1}; ll P(ll x, ll n) { ll ret = 1; while (n > 0) { if (n & 1) ret *= x; x *= x; n >>= 1; } return ret; } void seek(bool f){ cout << (f ? "Yes" : "No") << endl; } int main(){ ll N; cin >> N; vector F(N + 1); rep(i, N + 1){ cin >> F[i]; } vector H(N + 1, 0); ll C[26][26]; rep(i, 26){ rep(j, 26){ C[i][j] = 0; } } rep(i, 26){ C[i][0] = 1; } for(int i = 1; i < 26; i++){ for(int j = 1; j < 26; j++){ C[i][j] = C[i - 1][j] + C[i - 1][j - 1]; } } for(int i = 0; i <= N; i++){ for(int j = i; j <= N; j++){ H[j] += F[i] * P(-1, j - i) * C[N - i][j - i]; } } rep(i, N + 1){ cout << H[i] << " "; } cout << endl; }