문제 보기 - 생일수 I (GA4_birthday1)

시간 제한 메모리 제한 제출 횟수 통과한 사람 수 비율
1000 ms 256 MiB 109 29 26.61%

승현이는 1998년 3월 5일에 태어났습니다. 그래서 승현이는 자신의 생년월일에 있는 수들 중에서 3, 5, 8을 굉장히 좋아합니다. 이에 승현이는 10진수로 표현했을 때 3, 5, 8로만 구성되어 있는 자연수를 '생일수'로 부르기로 했습니다. 예로 들어 3, 533, 858553은 생일수이지만, 3518, 1642, 88808은 생일수가 아닙니다.

여러분은 임의의 자연수 $N$이 주어졌을 때, 10진법으로 나타냈을 때 각 자리수의 합이 $N$이 되는 가장 작은 생일수를 찾아서 출력하는 프로그램을 작성해야 합니다. 문제가 너무 간단한가요?ㅋㅋ

입력 형식

첫째 줄에 테스트 케이스의 수 $T$ ( $1 \le T \le 100$)가 주어집니다. 이후 $T$개 줄에 자연수 $N$이 주어집니다.

출력 형식

각 테스트 케이스에 대해, 한 줄에 하나씩 각 자리수의 합이 $N$이 되는 가장 작은 생일수 하나를 출력합니다. 만약 존재하지 않는다면, -1을 출력합니다.

서브태스크

서브태스크 1 (14점)

  • $1 \le N \le 10.$

서브태스크 2 (19점)

  • $1 \le N \le 100.$

서브태스크 3 (26점)

  • $1 \le N \le 1,000.$

서브태스크 4 (41점)

  • $1 \le N \le 1,000,000.$

입력과 출력의 예

입력 출력
3
11
16
12
38
88
3333