마라탕후루 (hard)

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

요약
로봇이 1분마다 딸기 P개를 한 꼬치에, 샤인머스캣 Q개를 다른 꼬치에 꽂을 때 모든 꼬치의 딸기와 샤인머스캣 개수를 같게 만들 수 있는지 판정하고 횟수를 출력한다.
난이도

어려움10점 중 8점

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

문제

그럼 제가 선배 맘에

<서이브/남동현, 마라탕후루, 2024>

아주대의 마스코트인 치토는 요즘 유행한다는 마라탕과 탕후루를 합쳐서 마라탕후루 가게를 오픈했다. 그런데 첫날부터 발주를 실수하는 바람에 딸기와 샤인머스캣이 박스째로 쌓이게 되었다. 과일은 신선도가 중요하기 때문에 오늘은 탕후루를 손님들에게 무료로 제공하기로 했다.

치토는 사전에 탕후루 꼬치 NN개를 만들어 두었다. 그런데 바빠서 손에 잡히는 대로 과일을 꽂다 보니 꼬치마다 꽂혀있는 딸기와 샤인머스캣의 개수가 다를 수 있다는 사실을 뒤늦게 깨달았다. 맛의 밸런스를 유지하기 위해서는 꼬치마다 꽂혀있는 딸기와 샤인머스캣의 개수가 동일해야 한다. 단, 서로 다른 꼬치에 꽂혀있는 딸기와 샤인머스캣의 개수가 같을 필요는 없다. 치토는 가게를 운영하느라 매우 바빠서 딸기와 샤인머스캣의 개수를 동일하게 만들어줄 로봇을 고용했다.

현재 ii번 꼬치에는 A_iA\_{i}개의 딸기와 B_iB\_{i}개의 샤인머스캣이 꽂혀있다. 치토가 고용한 로봇은 한 가지 문제점이 존재하는데, 바로 딸기와 샤인머스캣을 매번 정해진 개수만큼 꽂는다는 것이었다. 로봇은 11분마다 다음의 행동을 한 번 진행한다.

  • ii번 꼬치와 jj번 꼬치를 선택한다. 이때, ii와 jj는 같을 수 있다. (1≤i,j≤N)(1\leq i, j \leq N)
  • ii번 꼬치에 딸기 PP개, jj번 꼬치에 샤인머스캣 QQ개를 동시에 꽂는다.

치토는 곰곰이 생각해 보니 로봇이 꼬치마다 딸기와 샤인머스캣의 개수를 똑같이 만들지 못할 수도 있다는 사실을 깨달았다.

로봇이 꼬치마다 딸기와 샤인머스캣의 개수를 똑같이 만들 수 있는지 없는지 확인해 보자.

입력

첫 번째 줄에 탕후루 꼬치의 개수 NN과 로봇이 11분마다 꽂는 딸기의 개수 PP 샤인머스캣의 개수 QQ가 공백으로 구분되어 주어진다. (1≤N,P,Q≤106)(1\leq N, P, Q \leq 10^{6})

두 번째 줄에 꼬치마다 꽂혀있는 딸기의 개수 A_1,A_2,…,A_NA\_{1}, A\_{2}, \ldots, A\_{N}이 공백으로 구분되어 주어진다. (1≤A_i≤106)(1\leq A\_{i} \leq 10^{6})

세 번째 줄에 꼬치마다 꽂혀있는 샤인머스캣의 개수 B_1,B_2,…,B_NB\_{1}, B\_{2}, \ldots, B\_{N}이 공백으로 구분되어 주어진다. (1≤B_i≤106)(1\leq B\_{i} \leq 10^{6})

출력

첫 번째 줄에 로봇이 꼬치마다 딸기와 샤인머스캣의 개수를 똑같이 만들 수 있다면 YES, 아니라면 NO를 출력한다.

로봇이 꼬치마다 딸기와 샤인머스캣의 개수를 똑같이 만들 수 있는 경우, 두 번째 줄에 꼬치마다 로봇이 딸기를 꽂은 횟수를 공백으로 구분하여 출력한다. 또한, 세 번째 줄에 꼬치마다 로봇이 샤인머스캣을 꽂은 횟수를 공백으로 구분하여 출력한다. 가능한 답이 여러 가지인 경우, 그중 하나를 출력한다.

단, 딸기와 샤인머스캣의 양이 무한하지 않기 때문에 로봇이 꼬치마다 딸기 PP개와 샤인머스캣 QQ개를 꽂는 행동의 횟수는 각각 2×10122 \times 10^{12}번 이내여야 한다.

예제3

  1. 예제 1

    입력
    3 2 1
    3 5 7
    5 6 7
    
    예상 출력
    YES
    2 1 0
    2 1 0
    
  2. 예제 2

    입력
    3 2 1
    3 5 7
    6 5 4
    
    예상 출력
    NO
    
  3. 예제 3

    입력
    3 4 8
    1 8 32
    9 4 8
    
    예상 출력
    YES
    4 1 0
    1 1 3