/*
TASK:future
LANG:C++
*/
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
string s2,s4;
int brm[10];
string rev(string s)
{
    string s1;
    int i;
    for(i=s.size()-1;i>=0;i--)
    {
    s1+=s[i];
}
    return s1;
}
void cmp(string s,string s1)
{
    if(s.size()>s1.size()){s2=s;s4=s1;return;}
    else {if(s1.size()>s.size()){s2=s1;s4=s;return;}}
    int i;
    for(i=0;i<s.size();i++)
    {
        if(s[i]>s1[i]){s2=s;s4=s1;return;}
        if(s[i]<s1[i]){s2=s1;s4=s;return;}
    }
}
string sub(string s,string s1)
{
    int ost=0,sbr,n=min(s.size(),s1.size());
    string s3;
    int i;
    for(i=0;i<n;i++)
    {
        sbr=(s[i]-'0')-(s1[i]-'0');
        if(sbr+ost<0)
        {
            s3+=(sbr+10+ost)+'0';
            ost=-1;
        }
        else
        {
            s3+=sbr+'0'+ost;
            ost=0;
        }
    }
    if(s.size()!=s1.size())
    {
        if(s.size()>s1.size())
            {
                n=s.size();
        
                for(i=s1.size();i<n;i++)
                {
                    sbr=s[i]-'0';
                    if(sbr+ost>=10)
                    {
                        s3+=(sbr+ost)%10+'0';
                        ost=-1;
                    }
                    else 
                    {
                    s3+=sbr+ost+'0';
                    ost=0;
                    }
                }
            }
        else 
        {
            n=s1.size();
            for(i=s.size();i<n;i++)
            {
                sbr=s1[i]-'0';
                if(sbr+ost>=10)
                {
                    s3+=(sbr+ost)%10+'0';
                    ost=-1;
                }
                else 
                {
                    s3+=sbr+'0'+ost;
                    ost=0;
                }
            }
        }
    }
    return s3;
}
string umn(string s,int p)
{
    int ost=0,sbr,n=s.size();
    string s3;
    int i;
    for(i=0;i<n;i++)
    {
        sbr=(s[i]-'0')*p;
        if(sbr+ost>=10)
        {
            s3+=(sbr%10+ost)+'0';
            sbr/=10;
            ost=sbr%10;
        }
        else
        {
            s3+=sbr+'0'+ost;
            ost=0;
        }
    }
    if(ost&&ost<10)s3+=ost+'0';
    else while(ost)
    {
        s3+=ost%10+'0';
        ost/=10;
    }
    return s3;
}
int main()
    {
        int n;
        string s,s1;
        getline(cin,s);
        getline(cin,s1);
        cin>>n;
        string s3;
        cmp(s,s1);
        s2=rev(s2);
        s4=rev(s4);
        s3=sub(s2,s4);
        s3=umn(s3,n);
        s3=rev(s3);
        cout<<s3<<endl;
        int br=0,max=-1,maxn=0;
        int i;
        for(i=0;i<=9;i++)
        brm[i]=-1;
        for(i=0;i<s3.size();i++)
        {
            br+=s3[i]-'0';
            brm[s3[i]-'0']=i;
        }
        for(i=1;i<=9;i++)
        
            if(br%i==0&&brm[i]>max&&brm[i]!=-1){max=brm[i];maxn=i;}
            if(maxn>=0)cout<<maxn<<endl;
            else cout<<'0'<<endl;
        return 0;
    }
        
