문제
재우는 받은 편지함을 정리하려 합니다.
그의 화면의 왼쪽에는 폴더 목록이 있고 화면 오른쪽에는 받은 편지함에 들어있는 이메일 목록이 있는 방식으로 배치되어 있습니다.
자세하게는 1…M(1≤M≤104)으로 번호가 매겨진 M개의 폴더가 있고, 받은 편지함에는 1…N(1≤N≤105)으로 번호가 지정된 N개의 이메일이 있습니다.
이 중 i번째 이메일은 폴더 fi(1≤fi≤M)에 보관해야 합니다.
재우는 화면이 좀 작아서 K(1≤K≤min(N,M))개의 폴더와 K개의 이메일만 동시에 볼 수 있습니다.
처음에 그의 화면에는 왼쪽에 폴더 1…K가 표시되고 오른쪽에 이메일 1…K가 표시되는데, 다른 폴더와 이메일에 액세스하려면 해당 목록을 스크롤해야 합니다.
예를 들어 폴더 목록을 한 위치 아래로 스크롤하면 화면에 폴더 2...K+1이 표시되고 다시 한 위치 아래로 스크롤하면 폴더 3...K+2가 표시됩니다.
재우가 이메일을 폴더로 드래그하면 이메일 목록에서 이메일이 사라지고, 사라진 이메일 아래의 이메일은 한 단계 위로 이동합니다.
예를 들어, 이메일 1,2,3,4,5가 현재 표시되어 있고 재우가 이메일 3을 폴더로 드래그하면 이메일 목록에 이제 이메일 1,2,4,5,6이 표시됩니다. 재우는 이메일을 보관하려는 폴더로만 끌어다 놓을 수 있습니다.
불행히도 재우의 마우스 휠이 고장나서 위로 스크롤할 수 없고 아래로만 스크롤할 수 있습니다.
재우가 스크롤 업을 할 수 있는 유일한 방법은 이메일 목록에서 마지막 K개의 이메일을 보고 있는 상태에서 그 중 하나를 보관하는 경우입니다. 이 경우 이메일 목록은 아직 보관되지 않은 마지막 K개의 이메일을 계속 표시하여 최상위 이메일을 한 단계 위로 스크롤합니다.
K개 미만의 이메일이 남아 있으면 모든 이메일이 표시됩니다.
재우가 모든 이메일을 보관할 수 있는지 결정하도록 도와주세요.
입력
첫 번째 줄에는 테스트 케이스의 수인 T(1≤T≤10)가 입력됩니다.
T번 만큼의 테스트 케이스는 각각 첫 번째 줄에는 M, N 및 K가 입력되고, 두 번째 줄에는 f1…fN이 입력됩니다.
입력은 모든 하위 테스트 케이스에 대한 M의 합이 104를 초과하지 않고 모든 하위 테스트 케이스에 대한 N의 합이 105를 초과하지 않도록 보장합니다.
출력
재우가 각 T개의 테스트 케이스에 대해 모든 이메일을 성공적으로 보관할 수 있는지 여부를 YES 또는 NO로 출력하시오.
예제1
6
5 5 1
1 2 3 4 5
5 5 1
1 2 3 5 4
5 5 1
1 2 4 5 3
5 5 2
1 2 4 5 3
3 10 2
1 3 2 1 3 2 1 3 2 1
3 10 1
1 3 2 1 3 2 1 3 2 1
YES
YES
NO
YES
YES
NO