Problem: You are given a positive number x. Find the smallest positive integer number that has the sum of digits equal to x and all digits are distinct (unique).

Input

The first line contains a single positive integer t (1 ≤ t ≤ 50) — the number of test cases in the test. Then t test cases follow.

Each test case consists of a single integer number x (1 ≤ x ≤ 50).

Output

Output t answers to the test cases:

  * if a positive integer number with the sum of digits equal to x and all digits are different exists, print the smallest such number; 
  * otherwise print -1. 

Example

Input


4
1
5
15
50


Output


1
5
69
-1

Solution (in CPP):

Solution:
#include <bits/stdc++.h>
using namespace std;

int main(){
#ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
#endif
int t;
cin >> t;
for(int k=0;k<t;k++){
    int n;
    cin >> n;
    if(n>45){
        cout << -1 << endl;
        continue;
    }
    vector<int> v;
    int i = 9;
    while(n>i){
        v.push_back(i);
        n=n-i;
        i--;
    }
    v.push_back(n);
    for(int j=v.size()-1;j>=0;j--){
        cout << v[j];
    }
    cout << endl;
}

}