만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

생일수 I

시간 제한1초메모리 제한256 MB

요약
3, 5, 8 세 숫자로만 이루어지고 자릿수 합이 N인 가장 작은 수를 구하고, 존재하지 않으면 -1을 출력합니다.
난이도

보통10점 중 4점

유형
그리디, 수학
정답자
아직 제출이 없습니다

문제

승현이는 1998년 3월 5일에 태어났다. 그래서 생년월일에 들어 있는 3, 5, 8을 아주 좋아한다. 승현이는 10진법으로 적었을 때 3, 5, 8만으로 이루어진 자연수를 생일수라고 부르기로 했다. 3, 533, 858553은 생일수지만 3518, 1642, 88808은 생일수가 아니다.

자연수 NN이 주어지면 각 자리 숫자의 합이 NN인 가장 작은 생일수를 구한다.

입력

첫째 줄에 테스트 케이스의 수 TT (1≤T≤1001 \le T \le 100)가 주어진다. 이어지는 TT개 줄에 자연수 NN (1≤N≤1 000 0001 \le N \le 1\,000\,000)이 한 줄에 하나씩 주어진다.

출력

각 테스트 케이스마다 각 자리 숫자의 합이 NN인 가장 작은 생일수를 한 줄에 하나씩 출력한다. 그런 생일수가 없으면 -1을 출력한다.

예제4

  1. 예제 1

    입력
    3
    11
    16
    12
    
    예상 출력
    38
    88
    3333
    
  2. 예제 2

    입력
    20
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    
    예상 출력
    -1
    -1
    3
    -1
    5
    33
    -1
    8
    333
    55
    38
    3333
    58
    338
    555
    88
    3338
    558
    388
    5555
    
  3. 예제 3

    입력
    4
    1
    2
    4
    7
    
    예상 출력
    -1
    -1
    -1
    -1
    
  4. 예제 4

    입력
    8
    3
    5
    8
    6
    10
    16
    9
    24
    
    예상 출력
    3
    5
    8
    33
    55
    88
    333
    888