N, K = map(int, input().split()) P = list(map(int, input().split())) SZ = 32 doubling = [[0] * (N+1) for _ in range(SZ)] dp = [[0] * (N+1) for _ in range(SZ)] for i in range(N): doubling[0][i] = (i + P[i]) % N dp[0][i] = (i + P[i]) // N for k in range(SZ-1): for i in range(N): doubling[k+1][i] = doubling[k][doubling[k][i]] dp[k+1][i] = dp[k][i] + dp[k][doubling[k][i]] for i in range(N): s = 0 cur = i for j in range(SZ): if K & (1 << j): s += dp[j][cur] cur = doubling[j][cur] # print(f'{cur=} {s=}') print(s * N + cur + 1)