최근 사용한 문서 목록

용량 k인 최근 사용 문서 목록을 시뮬레이션한다. 문서를 열면 맨 앞으로 옮기고, 새 문서면 맨 앞에 넣고 넘칠 때 맨 뒤를 버린 뒤 최종 목록을 출력한다.

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

문제

많은 프로그램에는 최근 사용한 문서 목록(NKD)이 있다. 이름 그대로 최근에 연 문서를 모아 둔 목록이고, 사용자는 문서를 일일이 찾지 않고 여기서 바로 열 수 있다. 목록에는 용량이 있어서, 같은 시점에 목록에 들어갈 수 있는 문서의 최대 개수가 정해져 있다.

사용자가 문서를 열 때마다 다음 두 가지 중 하나가 일어난다. 목록에서 골라 열든 다른 방법으로 열든 규칙은 같다.

  1. 그 문서가 이미 목록 어딘가에 있으면 목록의 맨 앞으로 옮긴다.
  2. 그렇지 않으면 목록의 맨 앞에 넣는다. 이때 용량을 넘으면 목록의 맨 뒤에 있는 문서를 버린다.

목록은 처음에 비어 있다. 목록의 용량과 사용자가 여는 문서의 순서가 주어진다. 문서를 모두 연 뒤 목록의 내용을 구하라.

입력

첫째 줄에 목록의 용량 kk가 주어진다. (1k101 \le k \le 10)

둘째 줄에 사용자가 여는 문서의 개수 nn이 주어진다. (1n5001 \le n \le 500)

이어지는 nn개의 줄에는 사용자가 여는 문서의 이름이 여는 순서대로 한 줄에 하나씩 주어진다. 문서 이름은 길이가 10 이하인 영어 소문자 문자열이고, 공백을 포함하지 않는다.

출력

문서를 모두 연 뒤 목록에 남은 문서를 한 줄에 하나씩 출력한다. 첫 줄에 출력하는 문서가 목록의 맨 앞에 있는 문서다.