오렌지 수
시간 제한1초메모리 제한1024 MB
1000 이상 10000 이하의 K가 주어질 때, 자릿수의 합과 제곱의 자릿수 합이 모두 K인, 10의 배수가 아니고 100000자리 미만인 서로 다른 자연수 세 개를 출력하거나 불가능하면 -1을 출력한다.
문제
영국의 수학자 하디와 인도의 수학자 라마누잔의 일화를 아는가? 하디가 라마누잔에게 "오는 길에 탄 택시의 번호가 인데 별 특징이 없는 수 같아."라고 말했더니, 라마누잔은 "아니, 는 두 세제곱수의 합으로 표현되는 방식이 두 가지뿐인 가장 작은 수야."라고 답했다고 전해진다. 과 같이 표현된다.
오늘 코드포스 라운드에 참가한 이환이는 "내 레이팅이 가 되었는데 별 특징이 없는 수 같아."라고 말했다. 그러자 다니엘은 "아니, 의 자릿수의 합은 이고, 제곱해도 이라 자릿수의 합이 로 서로 같아."라고 답했다. 이 성질을 신기하게 여긴 이환이는 를 오렌지 수라고 이름 붙이고, 다니엘에게 정수 에 대해 자릿수의 합이 이고 제곱한 수의 자릿수의 합도 인 자연수가 있는지 물었다. 다니엘을 도와 이런 수들을 찾아 주자!
입력
첫 줄에 정수 가 주어진다.
출력
자연수 의 각 자릿수를 모두 더한 값을 이라고 하자. 은 10진법에서 정의된다.
를 만족하는 자연수 세 개를 찾아, 한 줄에 하나씩 출력하여라. 만약 그러한 이 여러 개 존재한다면 아무거나 세 개를 출력해도 좋다. 단, 은 10의 배수가 아니어야 한다.
만약 그러한 이 존재하지 않는다면 하나의 정수 을 출력해야 한다. 조건을 만족하는 이 존재한다면 최소한 세 개는 존재함이 보장된다.
제한
- 각 수 에 대해 를 만족해야 한다. (즉, 은 10만 자리 이하여야 한다)
- 각 수는 10의 배수가 아니어야 한다.
- 각 수는 서로 달라야 한다.