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;
typedef long long ll;

void solve(){
	ll n,x=0;
    cin>>n;
    ll sum=0,a=9;
    vector<int> w;
    if(n>45){
        cout<<-1<<endl;
        return;
    }
    while(sum<n && a>0){
        w.push_back(min(n-sum,a));
        sum+=a;
        a--;
    }
    for(int i=0;i<w.size();i++){
        x+=w[i]*pow(10,i);
    }
    cout<<x<<endl;

}

int main(){
    int t=1;
	cin>>t;
	for(int i=1; i<=t; i++)	{
		solve();
}
}