using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TakmicenjeSG
{
    class Program

    {
        
        static int Rekurzija(int n)
        {
            int[] brojevi = new int[n];
            
            if (n < 26)
            {
                if (n < 10)
                    return +n;
                else
                    return +10;
            }
            else
            {

                string broj = n.ToString();
                int brojac = broj.Length;
                brojevi[n - 1] = 1;
                for (int i = 0; i < broj.Length; i++)
                    brojevi[n-1] *= int.Parse(broj[--brojac].ToString());
                int provera = brojevi[n-1];
                brojevi[n-1] = 0;
                if (brojevi.Contains(provera) )
                {
                    return +0+Rekurzija(n - 1);
                }
                else
                {
                    brojevi[n-1] = provera;
                    return +1+Rekurzija(n-1);
                    
                }
                

            }
        }
        static void Main(string[] args)
        {
            int T = int.Parse(Console.ReadLine());
            int[] N = new int[T];
            for(int i=0;i<T;i++)
            {
                 N[i]=int.Parse(Console.ReadLine());
            }
            for (int i = 0; i < T; i++)
                Console.WriteLine(Rekurzija(N[i]));
        }
    }
}