Всі полюбляють перестановки#264

Всі полюбляють перестановки

1 секунда
256 мегабайтів
Середня

Перестановка довжини — масив довжини , що містить всі значення від до , і всі елементи якого попарно різні.

Подорослішавши й награвшись з масивом, Антон перейшов до вивчення цікавіших масивів — перестановок. Під час написання дипломної роботи перед ним постала дуже складна задача.

У нього є перестановка довжини та ціле число . Він вирішив побудувати двовимірний масив з розмірами (k+1) \times n.

  1. a_{0j}=j для всіх (1 \leq j \leq n);

  2. a_{ij}=a_{(i-1)p_j} для всіх (1 \leq i \leq k) та (1 \leq j \leq n).

Нехай p=[5, 3, 1, 4, 2] та k=3, тоді маємо наступний масив.

a_{ij}

j=1

j=2

j=3

j=4

j=5

i=0

i=1

i=2

i=3

Для кожного (1 \leq x \leq n) він хоче знати суму усіх таких, що a_{ij}=x, де 1 \leq i \leq k. Іншими словами, він хоче знайти суму чисел — індексів числа у кожному a_i.

Розглянемо останній приклад. Якщо x=1, то відповідь буде 3+2+5=10.

Після обмірковувань і нескладних ідей, Антон впорався розв'язати цю задачу швидко. Тепер він хоче перевірити чи впораєтесь Ви розв'язати її.

Вхідні дані

Перший рядок вхідних даних містить два цілі числа , (1 \le n \le 10^6, 1 \le k \le 10^9) — довжина перестановки та кількість повторювань операцій відповідно.

Другий рядок містить в собі перестановку (1 \le p_i \le n).

Вихідні дані

Виведіть цілих чисел, де -те число — це відповідь для x=i.

Приклади

Приклад

Loading
Loading

Приклад 1

Loading
Loading

Оцінювання

  1. ( балів): k = 1;

  2. ( балів): p_i = i;

  3. ( балів): n \le 2000, k \le 2000;

  4. ( балів): n \le 2000, для будь-яких та існує таке , що p[p[p \dots p[i] \dots ]]=j, де таке вкладення береться разів;

  5. ( балів): для будь-яких та існує таке , що p[p[p \dots p[i] \dots ]]=j, де таке вкладення береться разів;

  6. ( балів): без додаткових обмежень.