Surprise Language Round 8 |
---|
Закончено |
В школе учатся n школьников, которые очень любят читать книги. Известно, что у каждого школьника есть ровно один лучший друг, и каждый школьник является лучшим другом ровно одного школьника. У каждого из школьников есть ровно одна интересная книга.
Школьники решили обмениваться книгами между собой. Каждый день все школьники одновременно передают книгу, которая у них есть, своим лучшим друзьям. Таким образом, каждый день у каждого из школьников есть ровно одна книга.
Перед вами стоит задача по заданному списку лучших друзей определить распределение книг между школьниками через k дней. Для простоты все школьники пронумерованы от 1 до n в каждом из тестов.
В первой строке выходных данных содержатся два целых числа n и k (2 ≤ n ≤ 100000, 1 ≤ k ≤ 1016) — количество школьников и количество дней, в течение которых они будут обмениваться книгами.
Во второй строке содержатся n различных целых чисел ai (1 ≤ ai ≤ n), где ai равно номеру школьника, чьим лучшим другом является школьник с номером i.
Гарантируется, что ни в одном тесте ни один школьник не является лучшим другом самого себя.
В единственную строку выходных данных выведите через пробел n различных целых чисел, где i-е число должно быть равно номеру школьника, у которого будет книга, которая изначально была у школьника с номером i, через k дней.
4 1
2 4 1 3
3 1 4 2
5 5
3 4 5 2 1
3 4 5 2 1
6 18
2 3 5 1 6 4
1 2 3 4 5 6
Пояснение к первому тестовому примеру.
Всего есть 4 школьника и количество дней равно 2. Список лучших друзей равен {2, 4, 1, 3}. Это означает, что:
После первого дня распределение книг будет следующим: {3, 1, 4, 2}.
Таким образом, ответ на этот тест 3 1 4 2.
Название |
---|