#include<iostream>
using namespace std;
long long met[2000];
int main()
{
    long long t;
    cin>>t;
    while(t--)
    {
        for(long long i=0; i<2000; i++)
        {
            met[i]=0;
        }
        long long a, v, n;
        cin>>a>>v>>n;
        long long ans=0;
        if(a==v)
        {
            ans++;
        }
        long long b=0;
        while(a>0)
        {
            long long c=a%10;
            b+=c*c;
            a/=10;
        }
        n--;
        while(!met[b] && n>0)
        {
            n--;
            if(b==v)
            {
                ans++;
            }
            met[b]=1;
            long long d=0;
            while(b>0)
            {
                long long c=b%10;
                d+=c*c;
                b/=10;
            }
            b=d;
        }
        if(n>0)
        {
            long long pos=10000000000;
            long long cnt=0;
            while(met[b]==1)
            {
                if(b==v)
                {
                    pos=cnt;
                }
                cnt++;
                met[b]=2;
                long long d=0;
                while(b>0)
                {
                    long long c=b%10;
                    d+=c*c;
                    b/=10;
                }
                b=d;
            }
            if(pos<=cnt){
                ans+=n/cnt;
            }
            if(n%cnt>pos)
            {
                ans++;
            }
        }
        cout<<ans<<endl;
        //cout<<b<<endl;
    }
    return 0;
}
