l=[]
ans=["","","","","","","","",""]
for j in range(8,-1,-1):
for i in range(1,j+2):
ans[j]=str(i)
l.append("".join(ans))
for j in range(int(input())):
n=int(input())
if n>45:
print(-1)
else:
print(l[n-1])
#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){
int n;
cin>>n;
int power=1;
int k=0;
for(int i=9;i>=1;i--){
if(n>=i){
n-=i;
k=k+i*power;
power*=10;
}
}
if(n==0){
cout<<k<<endl;
}
else{
cout<<-1<<endl;
}
}
}
1424M - Ancient Language | 600C - Make Palindrome |
1669D - Colorful Stamp | 1669B - Triple |
1669A - Division | 1669H - Maximal AND |
1669E - 2-Letter Strings | 483A - Counterexample |
3C - Tic-tac-toe | 1669F - Eating Candies |
1323B - Count Subrectangles | 991C - Candies |
1463A - Dungeon | 1671D - Insert a Progression |
1671A - String Building | 1671B - Consecutive Points Segment |
1671C - Dolce Vita | 1669G - Fall Down |
4D - Mysterious Present | 1316B - String Modification |
1204A - BowWow and the Timetable | 508B - Anton and currency you all know |
1672A - Log Chopping | 300A - Array |
48D - Permutations | 677C - Vanya and Label |
1583B - Omkar and Heavenly Tree | 1703C - Cypher |
1511C - Yet Another Card Deck | 1698A - XOR Mixup |