몰이 사냥

NYPC 2020 · 예선

메이플스토리 무릉도장에서 수련을 하던 소공은 NN 마리의 몬스터가 있는 일자 지형 맵에 가만히 서서 몰이 사냥을 하고자 한다. 맵이 일자 지형으로 생겼으므로 맵 내 임의의 위치를 수 하나로 표현할 수 있다. 편의상 소공이 처음 맵에 입장했을 때 서있는 곳을 위치 00이라고 하고, 소공으로부터 오른쪽으로 거리 dd만큼 떨어진 곳을 위치 dd, 왼쪽으로 거리 dd만큼 떨어진 곳을 위치 d-d라고 하자.

맵 상 NN 마리의 몬스터에게 11부터 NN까지 서로 다른 정수 번호가 매겨져 있다. ii(1iN)(1 \le i \le N) 몬스터는 소공이 맵에 입장했을 때 위치 did_i에 있으며, 그 후 매 초마다 sis_i만큼 점프한다. 몬스터가 위치 mm에서 kk만큼 점프를 하면 즉시 위치 m+km + k로 이동한다. 즉, 00 이상의 정수 tt에 대해 tt 초 후에는 위치 (di+t×si)(d_i+ t \times s_i)에 있게 되는 것이다. sis_i00이나 음수일 수 있음에 유의하라.

소공이 스킬을 위치 pp에 시전하면 해당 순간 위치 pp부터 위치 (p+R)(p+R) 사이 범위에 있는 모든 몬스터를 잡을 수 있다. 스킬 효과 범위 양 끝에 있는 위치 pp와 위치 (p+R)(p+R)에 있는 몬스터 또한 잡을 수 있다.

소공은 이 스킬을 활용해서 모든 몬스터를 잡으려 한다. 소공이 몰이 사냥을 하는 방법은 맵에 입장해서 특정 시간 후 스킬을 위치 pp단 한 번 시전하는 것이다. pp는 반드시 00 이상 XX 이하의 수여야 한다. 다시 말해, 스킬은 오른쪽 방향으로 사거리 XX 이내에 한 번만 시전할 수 있다.

소공을 도와 모든 몬스터를 잡을 수 있는지 여부를 구해주자.

입력 형식

첫 줄에 스킬의 사거리와 효과 범위를 나타내는 두 정수 XXRR이 공백으로 구분되어 주어진다. (1X,R1000000000)(1 \le X, R \le 1\,000\,000\,000)

둘째 줄에 소공이 발견한 맵에 있는 몬스터의 수를 나타내는 정수 NN이 입력으로 주어진다. (1N100000)(1 \le N \le 100\,000)

셋째 줄부터 각 줄에 몬스터 ii의 초기 위치와 점프하는 정도를 나타내는 두 정수 did_isis_i가 공백으로 구분되어 입력으로 주어진다. (1000000000di,si1000000000)(-1\,000\,000\,000 \le d_i, s_i \le 1\,000\,000\,000)

출력 형식

소공이 스킬을 단 한 번 시전해 모든 몬스터를 잡을 수 있으면 첫 줄에 T 잡을 수 없으면 F를 출력한다.

예제 1

입력

3 2 3 -1 1 7 -3 3 0

출력

T

예제 2

입력

4 3 3 12 1 10 1 15 2

출력

F

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 41

N,X,R5000N, X, R \le 5\,000; 5000di,si5000-5\,000 \le d_i, s_i \le 5\,000

종류 2: 59

추가적인 제한 조건이 없음.

해설