잘못된 덧셈
시간 제한2초메모리 제한512 MB
세 수를 자리올림 없이 각 자리끼리 더하는 연산을 모든 순서로 적용해, 결과가 달라지는지 판정하고 서로 다른 합을 모두 출력한다.
문제
Володя는 두 수를 세로로 더하는 프로그램을 작성했다. 하지만 그는 자리올림을 다음 자리로 옮기는 방법을 제대로 이해하지 못했다. 그래서 프로그램은 다음과 같이 동작한다. 먼저 두 수의 마지막 자릿수를 더하고, 그 결과가 한 자리든 두 자리든 그대로 적는다. 다음으로 두 수의 끝에서 두 번째 자릿수를 더하고, 그 결과를 앞의 결과 왼쪽에 붙인다. 이후 모든 자릿수에 대해 이 과정을 반복한다.
한 수의 자릿수가 다른 수보다 적으면, 프로그램은 짧은 수의 해당 자릿수에 0이 있다고 가정한다.
Федя는 Володя에게 자신의 덧셈 방식이 결합법칙을 만족하지 않는다는 것을 증명하려고 한다. 특히 Федя는 세 수를 더하는 순서가 중요한 경우가 존재한다고 주장한다.
Федя는 그러한 세 수의 예도 제시했다. Федя와 Володя를 도와 이 수들을 다른 순서로 더했을 때 서로 다른 합을 얻을 수 있는지 판단하자.
입력
입력 파일에는 세 정수 a, b, c가 주어진다. (1 ≤ a, b, c ≤ 1 000 000)
출력
첫째 줄에 주어진 세 수를 서로 다른 순서로 더해 서로 다른 합을 얻을 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.
다음 줄부터 a, b, c를 더해 얻을 수 있는 모든 합을 출력한다. 각 수를 한 줄에 하나씩 오름차순으로 출력한다.