만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

주사위

면접 대비

시간 제한2초메모리 제한1024 MB

요약
면이 f개인 주사위 n개를 굴리고 m을 더했을 때 합이 S가 될 수 있는지 판별합니다.
난이도

쉬움10점 중 2점

유형
수학, 구현
정답자
아직 제출이 없습니다

문제

Khodislav는 테이블탑 롤플레잉 게임을 하고 있다. 그는 몬스터를 상대하려고 마침내 무기를 골랐고, 분쇄 일격(crushing strike)을 시전한다. 이를 위해 주사위를 굴려 눈의 합을 구한 뒤, 그 합을 게임 마스터에게 소리 내어 말한다.

같은 주사위를 여러 개 굴리는 경우는 정수 nn, ff, mm으로 정해진다. nn은 주사위의 개수, ff는 각 주사위의 면 수, mm은 보정값이다. 각 면에는 1부터 ff까지의 수가 하나씩 적혀 있고, 어느 면이든 나올 수 있으며 모든 굴림은 서로 독립이다. 예를 들어 n=3n = 3, f=8f = 8, m=5m = 5이면 8면 주사위 3개를 굴려 눈을 더한 뒤 5를 더한다. 이를 보통 3d8+53d8 + 5로 적는다.

게임 마스터는 Khodislav가 보고한 합이 실제로 나올 수 있는지 확인하려고 한다.

입력

첫 줄에 Khodislav가 시전한 일격의 수 BB (1≤B≤1051 \le B \le 10^5)가 주어진다. 이어지는 BB개의 줄에는 일격마다 보고한 합 SS와 주사위 정보 nn, ff, mm이 차례로 주어진다. 제약은 1≤S≤3001 \le S \le 300, 1≤n≤101 \le n \le 10, 2≤f≤202 \le f \le 20, 0≤m≤100 \le m \le 10이다.

출력

각 일격에 대해 입력 순서대로 보고한 합이 나올 수 있으면 YES, 없으면 NO를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    5
    3 1 6 0
    1 1 8 1
    16 1 12 3
    1 2 4 0
    42 3 20 1
    
    예상 출력
    YES
    NO
    NO
    NO
    YES