import java.util.*;


public class Main {
	public static void main(String args[]) {
	Scanner scanner = new Scanner(System.in);
	int t = scanner.nextInt();
	int[] list = new int[t]; 
	for(int y=0;y<t;y++) {
		list[y]=scanner.nextInt();
	}
	scanner.close();
	for(int i=0;i<t;i++) {
		int n = list[i];
		Set<Integer> set = new HashSet<Integer>();
		int pause = 0;
		int base=0;
		
	
		for(int j=1;j<n+1;j++) {

			if(j<10) {
				for(int m=1;m<j+1;m++) {
					set.add(m);
				}
			}
			System.out.println(pause);
			if(j<pause) {
				break;
			}
			String jstr=String.valueOf(j);
			int lastMult=1;
			
			if(jstr.contains(String.valueOf(0))) {
				base=1;
				for(int g=0; g<jstr.length()-1;g++) {
					base=base*(jstr.charAt(g)-'0');
				}
				if(String.valueOf(jstr.charAt(jstr.length()-1))!=String.valueOf(0)) {
					
					char[] f=jstr.toCharArray();
				for(int k=0;k<jstr.length();k++) {
					if(Integer.valueOf(f[k])==0) {
						System.out.print("test2");
						for(int p = k;k<jstr.length(); k++) {
							f[p]=1;
						}
						pause=Integer.valueOf(f.toString());
						break;
					}
				}}
				set.add(0);
			}
			
			else if(base!=0) {
				lastMult=Integer.valueOf(jstr.charAt(jstr.length()-1)-'0')*base;
			}

			set.add(lastMult);
			}
		
		System.out.println(set.size());

	}
	System.exit(1);
	}}