시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 60 38 13 56.522%

문제

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

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

입력

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

 

출력

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

예제 입력

3
11
16
12

예제 출력

38
88
3333

힌트