비를 피하는 손님들
시간 제한1초메모리 제한128 MB
손님의 위치와 속도, 우산의 위치, 그리고 남은 시간 t가 주어질 때, 각자 도달 가능한 우산에 최대 몇 명을 연결할 수 있는지 구한다.
문제
바닷가 별장의 정원에서 파티를 열고 있습니다. 파티는 대성공이고 모두가 즐거워하고 있습니다. 따뜻하고 맑은 저녁, 바다에서 불어오는 상쾌한 바람이 소금기 어린 공기를 실어 옵니다. 그런데 손님 중 한 명이 기상 예보 일을 합니다. 그가 갑자기 소리칩니다. "이 바람을 알아요! 몇 분 안에 폭우가 쏟아질 거예요!" 가장 좋은 옷을 차려입은 손님들은 비에 젖고 싶어 하지 않습니다.
정원 곳곳에는 손님을 비로부터 지켜 줄 우산이 몇 개 놓여 있습니다. 우산은 작아서 한 우산에는 한 명만 들어갈 수 있고, 두 손님은 절대 우산을 함께 쓰지 않습니다. 손님마다 달리는 속도도 서로 다릅니다.
비가 쏟아지기 전에 최대 몇 명의 손님이 우산에 도달할 수 있을까요?
모든 손님의 위치와 속도, 우산의 위치, 그리고 비가 내리기까지 남은 시간이 주어질 때, 최대 몇 명의 손님이 우산에 도달할 수 있는지 구하세요. 손님은 자신의 속도와 남은 시간의 곱이 손님과 우산 사이의 유클리드 거리 이상일 때 그 우산에 도달할 수 있습니다. 각 우산은 최대 한 명의 손님만 사용할 수 있습니다.
입력
첫 번째 줄에 테스트 케이스의 개수가 주어집니다.
각 테스트 케이스의 첫 줄에는 비가 내리기까지 남은 시간 (분)가 주어집니다 (). 다음 줄에는 손님의 수 이 주어지고 (), 이어지는 개의 줄에는 각 손님의 좌표, 좌표, 그리고 분당 이동 속도 가 정수로 공백으로 구분되어 주어집니다 (). 그다음 줄에는 우산의 수 이 주어지고 (), 이어지는 개의 줄에는 각 우산의 정수 좌표가 공백으로 구분되어 주어집니다.
모든 좌표의 절댓값은 보다 작습니다.
출력
각 테스트 케이스마다 먼저 "Scenario #i:" 줄을 출력합니다. 여기서 는 1부터 시작하는 테스트 케이스 번호입니다. 그다음 줄에 비가 내리기 전에 우산에 도달할 수 있는 손님의 최대 수를 출력합니다. 연속한 두 테스트 케이스 사이에는 빈 줄을 하나 출력합니다.