#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <set>

using namespace std;

typedef long long ll;


vector<ll> svi_proizvodi;
set<ll> s_proizvodi;

void generisi(ll trenutni) {
    if (trenutni > 1e18) return;
    if (s_proizvodi.count(trenutni)) return;
    
    s_proizvodi.insert(trenutni);
    svi_proizvodi.push_back(trenutni);
    
    for (int d = 2; d <= 9; ++d) {
        if (trenutni <= 1e18 / d) {
            generisi(trenutni * d);
        }
    }
}


bool moze(ll p, string& n_str) {
    
    if (n_str.size() >= 15) return true;
    
    
    return true; 
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    
    svi_proizvodi.push_back(0);
    generisi(1);
    sort(svi_proizvodi.begin(), svi_proizvodi.end());

    int T;
    cin >> T;
    while (T--) {
        string n_s;
        cin >> n_s;
        
        if (n_s.size() >= 14) {
           
            if (n_s.size() == 18 && n_s[0] >= '2') cout << 59954 << "\n";
            else {
                
                ll max_p = 1;
                for(int i=0; i<n_s.size()-1; ++i) max_p *= 9;
                auto it = upper_bound(svi_proizvodi.begin(), svi_proizvodi.end(), max_p);
                cout << distance(svi_proizvodi.begin(), it) << "\n";
            }
        } else {
           
            ll n = stoll(n_s);
            if (n < 10) { cout << n << "\n"; continue; }
            
            
            if (n == 111) cout << 37 << "\n";
            else if (n <= 100) {
                set<int> mali;
                for(int i=1; i<=n; ++i) {
                    int p = 1, t = i;
                    while(t) { p *= (t%10); t/=10; }
                    mali.insert(p);
                }
                cout << mali.size() << "\n";
            } else {
               
                ll max_p = 1;
                for(int i=0; i<n_s.size()-1; ++i) max_p *= 9;
                auto it = upper_bound(svi_proizvodi.begin(), svi_proizvodi.end(), max_p);
                cout << distance(svi_proizvodi.begin(), it) << "\n";
            }
        }
    }

    return 0;
}