아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

원상 복구 (small)

면접 대비

시간 제한1초메모리 제한1024 MB

요약
K번 섞은 뒤의 카드 배열과 섞는 순서 D가 주어질 때, 역셔플을 K번 적용해 원래 배열을 구한다.
난이도

보통10점 중 5점

유형
배열, 시뮬레이션, 구현, 수학
정답자
아직 제출이 없습니다

문제

P1,P2,⋯ ,PNP_1, P_2, \cdots, P_N의 수가 적혀 있는 NN개의 카드가 있다.

1부터 NN까지의 수가 하나씩 들어 있는 수열 D1,D2,⋯ ,Di,⋯ ,DND_1, D_2, \cdots, D_i, \cdots, D_N이 있다. 각 ii에 대해 DiD_i번째 카드를 ii번째로 가져오는 작업을 셔플이라고 부른다.

예를 들어 P1,P2,⋯ ,PNP_1, P_2, \cdots, P_N이 1, 4, 5, 3, 2이고 D1,D2,⋯ ,DND_1, D_2, \cdots, D_N이 4, 3, 1, 2, 5라고 하자. 이 카드를 한 번 섞으면 3, 5, 1, 4, 2가 된다. 아래 그림에서 SS는 카드를 한 번 섞은 후를 나타낸다.

위 방식으로 KK번 셔플한 카드의 정보와 DD의 정보를 알고 있다. 원래 카드는 어떤 배치였는지 구해 보자.

입력

첫째 줄에 카드의 개수 NN과 카드를 섞은 횟수 KK가 공백으로 구분되어 주어진다.

둘째 줄에 KK번 섞은 후 카드의 배치를 나타내는 SiS_i가 공백으로 구분되어 NN개 주어진다.

셋째 줄에 DiD_i가 공백으로 구분되어 NN개 주어진다.

출력

원래 카드의 배치인 P1P_1부터 PNP_N까지의 값을 공백으로 구분해 출력한다.

제한

  • 1≤N≤1041 \le N \le 10^4
  • 1≤K≤1031 \le K \le 10^3
  • 1≤Di≤N1 \le D_i \le N
  • 1≤Pi,Si≤1061 \le P_i, S_i \le 10^6
  • PiP_i는 정수

예제2

  1. 예제 1

    입력
    5 2
    4 1 3 5 2
    4 3 1 2 5
    
    예상 출력
    1 4 5 3 2
    
  2. 예제 2

    입력
    4 1
    4 3 2 1
    4 3 2 1
    
    예상 출력
    1 2 3 4