#include <stdio.h>
#include <iostream>
using namespace std;
main()
{
int n,a,b,max,min,n2,T,i,count;
//number of tesr cases
//scanf("%d",&T);
//cin >> T;
//int arr[T];
////take all test cases
//for(i=0;i<T;i++)
// // scanf("%d",&arr[i]);
// cin >> arr[i];
// //take n=arr[i]
cin >> T;
for(i=0;i<T;i++)
{ count=0;
//n=arr[i];
cin >> n;
min=n;
while(n!=0)
{ for(a=2;a<n;a++)
{ if(n%a==0)
{
b=n/a;
if(a>=b)
max=a;
else if (b>a)
max=b;
}
if(min>max)
min=max;
}
n2=n-1;
if(n2<min)
{n=n2;
count=count+1;
}
else
{
n=min;
count=count+1;
}
}
// printf("%d\n",count);
cout << count << "\n";
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbWFpbigpCnsKICAgICBpbnQgbixhLGIsbWF4LG1pbixuMixULGksY291bnQ7CiAgICAvL251bWJlciBvZiB0ZXNyIGNhc2VzCgogIC8vc2NhbmYoIiVkIiwmVCk7CiAgLy9jaW4gPj4gVDsKICAvL2ludCBhcnJbVF07CiAgLy8vL3Rha2UgYWxsIHRlc3QgY2FzZXMKICAvL2ZvcihpPTA7aTxUO2krKykKICAvLyAgLy8gc2NhbmYoIiVkIiwmYXJyW2ldKTsKICAvLyAgY2luID4+IGFycltpXTsKICAvLyAvL3Rha2Ugbj1hcnJbaV0KICBjaW4gPj4gVDsKICBmb3IoaT0wO2k8VDtpKyspCiAgeyAgICBjb3VudD0wOwogICAgICAgLy9uPWFycltpXTsKICAgICAgIGNpbiA+PiBuOwogICAgICAgbWluPW47CiAgICAgICB3aGlsZShuIT0wKQogICAgICAgeyBmb3IoYT0yO2E8bjthKyspCiAgICAgICAgICAgIHsgaWYobiVhPT0wKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGI9bi9hOwoKICAgICAgICAgICAgICAgICAgICBpZihhPj1iKQogICAgICAgICAgICAgICAgICAgICAgICBtYXg9YTsKICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChiPmEpCiAgICAgICAgICAgICAgICAgICAgICAgIG1heD1iOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBpZihtaW4+bWF4KQogICAgICAgICAgICAgICAgICAgICAgICBtaW49bWF4OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICBuMj1uLTE7CiAgICBpZihuMjxtaW4pCiAgICAgICB7bj1uMjsKICAgICAgICBjb3VudD1jb3VudCsxOwogICAgICAgIH0KICAgIGVsc2UKICAgICAgIHsKICAgICAgICBuPW1pbjsKICAgICAgICAgY291bnQ9Y291bnQrMTsKICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIHByaW50ZigiJWRcbiIsY291bnQpOwogICAgICAgIGNvdXQgPDwgY291bnQgPDwgIlxuIjsKICB9CnJldHVybiAwOwp9