Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Pionki
(pionki)
Memory limit: 32 MB
Time limit: 1.50 s

Jasio gra w pionki. To bardzo prosta gra, w której nie da się być lepszym lub gorszym (coś jak karciana gra w wojnę). Plansza do gry w pionki jest wymiaru 1 × N. Na każdym polu początkowo stoi jeden pionek. Dla każdego pola x znane jest pole Tx na które ów pionek przeskoczy w kolejnym skoku. Jasio dostaje złe oceny w szkole, bo całymi dniami symuluje skoki wszystkich pionków. Twoim zadaniem jest pomóc mu i zasymulować wszystkie skoki szybciej, żeby mógł zająć się czymś ważniejszym.

Napisz program, który: wczyta rozmiar planszy, pola docelowe dla wszystkich pól źródłowych oraz liczbę skoków K, wyznaczy pozycje pionków po wykonaniu K skoków i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N i K, oddzielone pojedynczym odstępem, określające kolejno: długość planszy i liczbę skoków, które należy zasymulować. W drugim (i ostatnim) wierszu wejścia znajduje się ciąg N liczb naturalnych Ti, 1 ≤ Ti ≤ N. i-ta liczba ciągu oznacza numer pola, na które przeskakuje pionek z pola i.

Pola i pionki są numerowane kolejnymi liczbami naturalnymi od 1 do N. Początkowo na i-tym polu znajduje się pionek numer i.

Wyjście

Twój program powinien wypisać na wyjście ciąg N liczb naturalnych pooddzielanych pojedynczymi odstępami. i-ta liczba powinna określać numer pola, na którym znajduje się i-ty pionek.

Ograniczenia

1 ≤ N ≤ 200 000, 1 ≤ K ≤ 1018.

Przykład

Input Output
5 5
2 3 1 5 4
3 1 2 5 4 
Input Output
6 3
3 2 5 4 1 6
1 2 3 4 5 6 
Input Output
5 2
2 3 3 5 4
3 3 3 4 5