#include <bits/stdc++.h>
#include <string>

using namespace std;

/*
int st_i(string st) {
    int d=1;
    int rez=0;
    for(int i=0; i<st.length(); i++) {
        int cifra = st[st.length()-i-1]-'0';
        rez += cifra*d;
        d=d*10;
    }
    return rez;
}
*/

/*
int cifProiz(string br) {
    int rez=1;
    for(int i=0; i<br.length(); i++) {
        int cifra = br[i]-'0';
        if(cifra==0) {
            return 0;
        }
        rez*=cifra;
    }
    return rez;
}
*/

long long cifProiz(long long br) {
    long long rez=1;
    long long xbr = br;
    while(xbr!=0) {
        int zadCifra = xbr%10;
        if(zadCifra==0) {
            return 0;
        }
        rez = rez * (zadCifra);
        xbr = xbr/10;
    }

    return rez;
}

long long izbroj(long long br) {
    long long rez = 0;
    vector<long long> proizvodi;
    for(int i=1; i<=br; i++) {
        proizvodi.push_back(cifProiz(i));
    }
    sort(proizvodi.begin(), proizvodi.end());
    for(int i=0; i<br; i++) {
        //cout<<proizvodi[i-1]<< " " << proizvodi[i]<<endl
        long long trenutni = proizvodi[i];
        if(i==0) {
            rez++;
        }
        if(i!=0) {
            long long prethodni = proizvodi[i-1];
            if(trenutni!=prethodni) {
                rez++;
            }
        }

    }

    return rez;
}

int main()
{

    long long brojUnosa;
    vector<long long> rezultati_f;
    cin >> brojUnosa;

    for(int i=0; i<brojUnosa; i++) {
        long long temp;
        cin >> temp;
        long long rez = izbroj(temp);
        rezultati_f.push_back(rez);
    }

    for(int i=0; i<brojUnosa; i++) {
        cout<<rezultati_f[i]<<endl;
    }

    return 0;
}