#include using namespace std; vector top4 = { 1908, // 18 2908, // 19 3908, // 20 4908, // 21 5908, // 22 6908, // 23 7908, // 24 8908, // 25 9089 // 26 }; vector experiment(int r){ vector D(101, 1 << 30); for(int i = 100; i <= r; i++){ auto s = to_string(i); bool flg = false; for(int j = 0; j + 2 < s.size(); j++){ if(s[j] - '0' > (int)(s[j + 1] - '0') + (int)(s[j + 2] - '0')){ flg = true; break; } } if(flg){ int dig = 0; for(auto d : s) dig += d - '0'; D[dig] = min(D[dig], i); } } return D; } int main() { ios::sync_with_stdio(false); cin.tie(0); auto D = experiment(1000000); int T; cin >> T; while(T--){ int K; cin >> K; if(K <= 45){ cout << D[K] << '\n'; continue; } int cnt = 0; while(K > 26){ K -= 9; cnt++; } cout << to_string(top4[K - 18]) << string(cnt, '9') << "\n"; } }