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;
const int mod =  1000000007;

int t, n;
string s;
int ans[20];

int main () 
{
    cin >> t;
    while (t--) {
        cin >> n;
        if (n > 45) {
            puts("-1");
        } else {
            int pos = 0;
            for (int i = 9; i >= 1; --i) {
                if (n > i) {
                    ans[pos++] = i;
                    n -= i;
                } else if (n == i) {
                    ans[pos++] = i;
                    break;
                }
            }
            for (int i = pos - 1; i >= 0; --i) {
                cout << ans[i];
            }
            cout << endl;    
        }
        
    }
    
    return 0;
}