E - Naipes

Languages: C, C++, Java, Pascal, Python, Tiger, JavaScript, Haskell, C#
Time & Memory limits: (details)

Fito dispone de $N$ naipes y quiere mezclarlos antes de jugar al póquer con sus amigos. Fito es una persona muy determinista y aplicará una misma regla $C$ veces para mezclar sus cartas. Después de asignarle un valor entre $1$ y $N$ a cada carta, una regla se define como una permutación $P = \{P_1, P_2,…, P_N\}$ de los enteros del $1$ a $N$, y aplicar dicha regla a los naipes significa que al mezclarlos, el naipe en la posición $i$ ocupará la posición $P_i$. Por ejemplo: si Fito tiene $5$ cartas y define la regla $\{5, 1, 3, 2, 4\}$, entonces mezclar $5$ veces sigue como:

$1, 2, 3, 4, 5$  $\rightarrow$ $2, 4, 3, 5, 1$ $\rightarrow$ $4, 5, 3, 1, 2$ $\rightarrow$ $5, 1, 3, 2, 4$ $\rightarrow$ $1, 2, 3, 4, 5$ $\rightarrow$ $2, 4, 3, 5, 1$


Ayude a Fito a mezclar sus cartas, escribe un programa que determine la configuración final de las cartas.

Input

Línea 1: Dos enteros $N$ ($1 \leq N \leq 2*10^5$) y $C$ ($0 \leq C \leq 10^9$), donde $N$ es la cantidad de naipes de Fito y $C$ la cantidad de veces que tiene que aplicar la regla.

Línea 2: $N$ enteros positivos, una permutación de los números del $1$ al $N$ que definen la regla que Fito desea aplicar.

Output

Línea 1: La salida debe contener $N$ enteros: la configuración final después de mezclar $C$ veces las $N$ cartas con la regla escogida por Fito.

Sample test(s)

Input
4 10000 1 2 3 4
Output
1 2 3 4
Input
5 5 5 1 3 2 4
Output
2 4 3 5 1