#include #define rep(i, n) for (int i = 0; i < (n); ++i) using namespace std; using ll = long long; void solve() { int n; cin >> n; string s; vector pos[10]; ll x = 0, mex = 0; while (1) { string t = to_string(x); int pre = -1; int len = 0; rep(i, t.size()) { int d = t[i]-'0'; auto& v = pos[d]; auto it = upper_bound(v.begin(), v.end(), pre); if (it == v.end()) { len = i; break; } else { pre = *it; } } if (len == t.size()) { ++mex; ++x; continue; } else { int i = len; for (; i < t.size() and s.size() < n; ++i) { s += t[i]; pos[t[i]-'0'].push_back(s.size()-1); } if (i == t.size()) { ++mex; ++x; continue; } else break; } } if (s.size() < n) s += string(n-s.size(), '0'); cout << s << '\n'; } int main() { int t; cin >> t; while (t--) solve(); return 0; }