import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Inet4Address;
import java.util.*;
import static java.util.Collections.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
long N = Integer.parseInt(br.readLine());
long start = N-63;
for (long i = start; i < N; i++)
{
long total = i;
String number = String.valueOf(i);
char[] one = number.toCharArray();
int[] one2 = new int[number.length()];
for (int j = 0 ; j < number.length(); j++)
{
one2[j] = one[j]-'0';
}
for (int i1 : one2) {
total+=i1;
}
if (total == N)
{
System.out.println(i);
return;
}
}
System.out.println(0);
}
}
범위를 -63부터 -1까지로 잡은 후 완전 탐색인 브루트포스를 이용하여 답을 구하였다. 이전에 구한 답보다 훨씬 코드가 쉽게 짜졌다.