Module: (Python) 실습 4. 유클리드의 알고리즘


Problem

6 /6


Petya와 Vanya에 대한 작업

Problem

5학년인 Petya와 Vanya는 수학 시간에 다음과 같은 유클리드 알고리즘을 배웠습니다.

<올> <리 디렉토리="ltr">

Let ab — 찾을 숫자입니다.

<리 디렉토리="ltr">

 b = 0인 경우 a — 당신이 찾고 있는 GCD.

<리 디렉토리="ltr">

만약 b > a이면 숫자 a 및 b를 바꿉니다.< /p> <리 디렉토리="ltr">

 a 값 a – b를 설정합니다.

<리 디렉토리="ltr">

2단계로 돌아갑니다.

Masha는 그들이 고쳐야 할 과제를 내놓았습니다. 그녀는 소년들에게 다음과 같은 숫자 a,b, c 및 d를 주어진 숫자 쌍 (a, b) 에 대해 유클리드 알고리즘을 구현하는 과정에서 2단계가 실행되기 전에 숫자a  는 c와 같고 숫자는 b d와 같습니다.

Masha가 숫자가 a, b, c, d를 만족하는지 확인하는 프로그램을 작성하세요. 마샤의 상태.

입력: 입력의 첫 번째 줄에는 테스트 사례의 수가 포함됩니다. K ( \( 1 <= K <= 100\)). 다음은 이러한 세트에 대한 설명입니다. 각 설명은 두 줄로 구성됩니다. 첫 번째는 두 개의 정수를 포함합니다: ab (\(1 <= a, \ b <= 10^{18}\)). 두 번째 줄 - 두 개의 정수: cd (\(1 <= c,\ d < = 10^{18}\)).
행의 모든 ​​숫자는 공백으로 구분됩니다.

출력: 각 테스트 케이스에 대해 Euclid 알고리즘을 적용하는 동안 "YES"라는 단어를 출력합니다. 어떤 시점에서 한 쌍의 숫자(ab)로 한 쌍이 얻어집니다(cd< /코드>). 그렇지 않으면 "NO"라는 단어를 출력합니다.

 

<헤드> <일># <몸>

 

입력 출력
1 2
2010
10 10
10 7
24

아니요