#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { int N, K; cin >> N >> K; ll P[N]; for (int i = 0; i < N; ++i) { cin >> P[i]; } ll D[N][32]; memset(D, 0, sizeof(D)); for (int step = 0; step < 32; ++step) { for (int i = 0; i < N; ++i) { if (step == 0) { D[i][step] = (i + 1) + P[i]; } else { int idx = (D[i][step - 1] - 1) % N; D[i][step] = D[i][step - 1] + (D[idx][step - 1] - idx - 1); } } } for (int i = 0; i < N; ++i) { int cur = i; ll res = i + 1; for (int step = 0; step < 30; ++step) { if (K >> step & 1) { res += (D[cur][step] - (cur + 1)); cur = (D[cur][step] - 1) % N; } } cout << res << endl; } return 0; }