//Bismillahir Rahmanir Raheem
#ifdef ONLINE_JUDGE
    #include<bits/stdc++.h>
#endif
#include<iostream>
#include<numeric>
#include<tuple>
#include<iomanip>
#include<stdlib.h>
#include<queue>
#include<stack>
#include<map>
#include<unordered_map>
#include<math.h>
#include<vector>
#include<climits>
#include<algorithm>
#include<string>
#include<sstream>
#include<string.h>
#include<deque>
#include<set>
using namespace std;
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
#define clr(cnt, x) memset((cnt), (x), sizeof(cnt))
typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pair<int,int> > vii;
typedef pair<int, int> pii;
typedef vector<bool> vbl;
typedef vector<pair<ll,ll> > vll;
typedef pair<ll, ll> pll;
#define PQ priority_queue
#define ff first
#define ss second
#define MP make_pair
#define MT make_tuple
#define mxN (int)2e5 + 2
#define sz(n) (int)(n).size()
#define fasterIO ios::sync_with_stdio(0); cin.tie(0);
#define forc(cn) for(auto &x : (cn))
#define findc(cn, abc) ((cn).find(abc) != (cn).end())

#define PI 2*acos(0)
#define MAX 200010
const ll inf = INT_MAX;
const int mod = 1e9 + 7;

void solve()
{
    int n;
    cin >> n;
    vi a(n + 1, 9);
    int d = 8;
    for(int i = 2; i <= n; i++) {
        a[i] = d++;
        if(d == 10) d = 0;
    }

    // for(int i = st; i < n; i++) cout << a[i];
    // for(int i = 0; i < st; i++) cout << a[i];
    for(int i = 1; i <= n; i++) cout << a[i];
    cout << endl;
}
int main()
{
    fasterIO
    #ifndef ONLINE_JUDGE
        freopen("input.txt", "r+", stdin);
        freopen("output.o", "w+", stdout);
    #endif
    int t = 1;
    cin >> t;
    while(t--) {
        solve();
    }
    return 0;
}
