수열 재배열

1부터 n까지의 수열에서 각 요청이 지정한 정수를 맨 앞으로 옮기고 나머지 순서는 유지할 때, 모든 요청을 처리한 뒤의 최종 수열을 출력한다.

보통4연결 리스트구현시뮬레이션면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

1부터 nn까지의 정수가 차례로 놓인 수열 (1,2,3,,n)(1, 2, 3, \ldots, n)이 있다. 이어서 요청이 여러 개 주어진다. 각 요청은 수열에 들어 있는 정수 하나를 지정하며, 지정된 정수를 수열의 맨 앞으로 옮긴다. 나머지 원소의 순서는 그대로 둔다. 모든 요청을 주어진 순서대로 처리한 뒤 수열에 놓인 원소의 순서를 구하여라.

입력

입력은 다음 형태의 테스트 케이스 하나로 이루어진다.

n m
e1
.
.
.
em

nn은 수열의 길이다 (1n2000001 \le n \le 200000). mm은 요청의 개수다 (1m1000001 \le m \le 100000). 이어지는 mm개의 줄에 요청 e1,,eme_1, \ldots, e_m이 한 줄에 하나씩 주어진다. 각 요청 eie_i (1im1 \le i \le m)는 11 이상 nn 이하의 정수이며, 옮길 원소를 나타낸다. 요청이 가리키는 값은 수열에서의 위치가 아니라 옮길 정수 자체다.

출력

모든 요청을 처리한 뒤의 수열을 출력한다. 원소를 수열에 놓인 순서대로 한 줄에 하나씩 출력한다.

힌트

nn55이고 요청이 차례로 44, 22, 55인 경우를 보자. 처음 수열은 (1,2,3,4,5)(1, 2, 3, 4, 5)다. 첫 요청은 정수 44를 맨 앞으로 옮기므로 수열은 (4,1,2,3,5)(4, 1, 2, 3, 5)가 된다. 다음 요청으로 22를 맨 앞으로 옮기면 (2,4,1,3,5)(2, 4, 1, 3, 5)가 되고, 마지막으로 55를 옮기면 (5,2,4,1,3)(5, 2, 4, 1, 3)이 된다.