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<iostream>
#include<iomanip>
#include<vector>
#include<math.h>
#include<string>
#include<stdlib.h>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<map>
#include<set>
#include<stack>
#include<queue>
#define fi(x,y) for(size_t i(x); i<y; i++)  //fl(0,n)
#define fj(x,y) for(size_t j(x); j<y; j++)
#define fk(x,y) for(size_t k(x); k<y; k++)
#define fa(x) for(auto i:x)                 //range based
#define fri(x,y) for(size_t i(x); i>=y; i--) //reverse for loop
#define frj(x,y) for(size_t j(x); j>=y; j--)
#define frk(x,y) for(size_t k(x); k>=y; k--)
#define ll long long
#define ull unsigned long long
using namespace std;



int main() {
    int t,n;
    cin>>t;
    int a[45] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 19, 29, 39, 49, 59, 69, 79, 89, 189, 289, 389, 489, 589, 689, 789, 1789, 2789, 3789, 4789, 5789, 6789, 16789, 26789, 36789, 46789, 
                56789, 156789, 256789, 356789, 456789, 1456789, 2456789, 3456789, 13456789, 23456789, 123456789};
    while(t--){
        cin>>n;
        if(n<46 && n>=1){
            cout<<a[n-1]<<endl;
            continue;
        }
        else
            cout<<-1<<endl;
    }
    return 0;
}