func_code_string: #include <bits/stdc++.h>   using namespace std;   int toInt(string s) {     int v;     istringstream sin(s);     sin >> v;     return v;   }   template <class T>   string toString(T x) {     ostringstream sout;     sout << x;     return sout.str();   }   vector<string> form(string a, char s) {     a += s;     vector<string> v;     string b;     for (int i = (0); i < (int)(a.size()); ++i) {       if (a[i] == s) {         v.push_back(b);         b =   ;       } else         b += a[i];     }     return v;   }   vector<int> formint(string a, char s) {     vector<int> v;     vector<string> w = form(a, s);     for (int i = (0); i < (int)(w.size()); ++i) v.push_back(toInt(w[i]));     return v;   }   const int mod = 1000000007;   int aa[2048];   int bb[2048];   int pows(int a, int b) {     if (b == 0) return 1;     int k = pows(a, b / 2);     k = ((long long)k * k) % mod;     if (b % 2 == 1) k = ((long long)k * a) % mod;     return k;   }   int divs(int a, int b) { return (((long long)a) * pows(b, mod - 2)) % mod; }   int combi(int a, int b) {     int res = 1;     if (a / 2 < b) b = a - b;     for (int i = a, j = 0; j < b; i--, j++) res = (((long long)res) * i) % mod;     for (int i = 2; i <= b; i++) res = divs(res, i);     return res;   }   int main(void) {     int n, k;     cin >> n >> k;     for (int i = (0); i < (int)(n); ++i) cin >> aa[i];     if (k == 0) {       for (int i = (0); i < (int)(n); ++i) {         if (i > 0) cout <<    ;         cout << aa[i];       }       cout << endl;       return 0;     }     for (int i = (0); i < (int)(n); ++i) bb[i] = combi(k + i - 1, i);     for (int i = (0); i < (int)(n); ++i) {       if (i != 0) cout <<    ;       int res = 0;       for (int j = (0); j < (int)(i + 1); ++j) {         res = (res + ((long long)aa[j] * bb[i - j]) % mod) % mod;       }       cout << res;     }     cout << endl;     return 0;   }   