아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

잘못된 덧셈

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

요약
세 수를 자리올림 없이 각 자리끼리 더하는 연산을 모든 순서로 적용해, 결과가 달라지는지 판정하고 서로 다른 합을 모두 출력한다.
난이도

보통10점 중 4점

유형
시뮬레이션, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

Володя는 두 수를 세로로 더하는 프로그램을 작성했다. 하지만 그는 자리올림을 다음 자리로 옮기는 방법을 제대로 이해하지 못했다. 그래서 프로그램은 다음과 같이 동작한다. 먼저 두 수의 마지막 자릿수를 더하고, 그 결과가 한 자리든 두 자리든 그대로 적는다. 다음으로 두 수의 끝에서 두 번째 자릿수를 더하고, 그 결과를 앞의 결과 왼쪽에 붙인다. 이후 모든 자릿수에 대해 이 과정을 반복한다.

한 수의 자릿수가 다른 수보다 적으면, 프로그램은 짧은 수의 해당 자릿수에 0이 있다고 가정한다.

Федя는 Володя에게 자신의 덧셈 방식이 결합법칙을 만족하지 않는다는 것을 증명하려고 한다. 특히 Федя는 세 수를 더하는 순서가 중요한 경우가 존재한다고 주장한다.

Федя는 그러한 세 수의 예도 제시했다. Федя와 Володя를 도와 이 수들을 다른 순서로 더했을 때 서로 다른 합을 얻을 수 있는지 판단하자.

입력

입력 파일에는 세 정수 a, b, c가 주어진다. (1 ≤ a, b, c ≤ 1 000 000)

출력

첫째 줄에 주어진 세 수를 서로 다른 순서로 더해 서로 다른 합을 얻을 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.

다음 줄부터 a, b, c를 더해 얻을 수 있는 모든 합을 출력한다. 각 수를 한 줄에 하나씩 오름차순으로 출력한다.

예제2

  1. 예제 1

    입력
    30 239 566
    
    예상 출력
    YES
    7945
    71215
    
  2. 예제 2

    입력
    643 733 553
    
    예상 출력
    NO
    18129