import std.stdio;
import std.algorithm;
import std.string;
import std.range;
import std.array;
import std.conv;
import std.complex;
import std.math;
import std.ascii;
import std.bigint;
import std.container;
import std.typecons;

auto readInts() {
	return array(map!(to!int)(readln().strip().split()));
}
auto readInt() {
	return readInts()[0];
}
auto readLongs() {
	return array(map!(to!long)(readln().strip().split()));
}
auto readLong() {
	return readLongs()[0];
}

const real eps = 1e-10;

int count(int n) {
	if(n < 10) return 0;
	auto s = n.to!string;
	return 1 + count(reduce!(max)(0, iota(1, s.length).map!(i => s[0..i].to!int * s[i..$].to!int)));
}

void main(){
	auto q = readInt();
	for(int i; i < q; ++i) {
		writeln(count(readInt()));
	}
}