병사 (Large)

두 선수가 번갈아 병사를 고르는데, 새로 고른 병사는 이전에 고른 모든 병사보다 공격력이 높거나 방어력이 높아야 한다. 선공이 더 많은 병사를 가져갈 수 있는지 판정한다.

어려움9게임 이론동적 계획법정렬아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

앨리스 장군과 밥 장군이 전쟁 게임을 한다. 게임에는 병사 NN명이 있고, 병사마다 공격력과 방어력이라는 두 능력치가 있다.

게임을 시작하기 전에 두 장군은 앨리스 장군부터 번갈아 가며 병사를 고른다. 자기 차례에는 병사 한 명을 고르는데, 그 병사의 공격력이 지금까지 고른 모든 병사의 공격력보다 크거나, 방어력이 지금까지 고른 모든 병사의 방어력보다 커야 한다. 정확히 말하면, ii번째 병사(1iN1 \le i \le N)의 공격력과 방어력을 AiA_i, DiD_i라 하고 지금까지 고른 병사의 집합을 SS라 할 때, 다음 두 조건 중 하나 이상이 성립해야 병사 xx를 고를 수 있다.

  • SS에 속한 모든 ss에 대해 Ax>AsA_x > A_s
  • SS에 속한 모든 ss에 대해 Dx>DsD_x > D_s

더 이상 고를 수 있는 병사가 없으면 고르기가 끝나고 게임이 시작된다.

앨리스 장군은 밥 장군보다 병사를 많이 고르고 싶어 하고, 밥 장군은 이를 막으려 한다. 두 사람이 모두 이 목표를 위해 최선을 다할 때, 앨리스 장군이 뜻을 이룰 수 있는지 구하시오.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다.

각 테스트 케이스의 첫째 줄에는 병사의 수를 나타내는 양의 정수 NN이 주어진다. 다음 NN개의 줄 중 ii번째 줄에는 ii번째 병사의 공격력 AiA_i와 방어력 DiD_i가 공백으로 구분되어 주어진다.

제한

  • 1T101 \le T \le 10
  • 1N40001 \le N \le 4000
  • 1Ai,Di100001 \le A_i, D_i \le 10000

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄을 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 밥 장군이 최선을 다해 막더라도 앨리스 장군이 밥 장군보다 병사를 많이 고를 수 있으면 YES, 그렇지 않으면 NO이다.