#include <bits/stdc++.h>
using namespace std;

using int64 = long long;

map<int64, int64> naj;

void r(int64 a, int64 b, int l) {
    if (b > 1e18) return;

    if (!naj.count(a) || naj[a] > b)
        naj[a] = b;

    for (int d = l; d <= 9; d++) {
        if (d == 0) continue;
        if (a > (int64)1e18 / d) break;
        dfs(a * d, b * 10 + d, d);
    }
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    r(1, 0, 1);

    vector<int64> k;
    for (auto &p : naj)
        k.push_back(p.second);

    sort(k.begin(), k.end());

    int T;
    cin >> T;
    while (T--) {
        int64 n;
        cin >> n;

        int o= upper_bound(k.begin(), k.end(), n) -k.begin();

        if (n >= 10) o++;

        cout <<o<<"\n";
    }
    return 0;
}