#include #include using namespace std; string a,b,c; long long d,i,j,p,q,n,m,k; int sravni(string s,string f) { int ds,df,i; ds=s.size()-1; df=f.size()-1; if(ds>df)return 1; if(df>ds)return 0; for(i=0;i<=ds;i++) { if(s[i]>f[i])return 1; if(f[i]>s[i])return 0; } return -1; } void izravni(string &s,string &f) { int ds,df; int i; ds=s.size()-1; df=f.size()-1; while(ds=0;i--) { k=(s[i]-'0')+(f[i]-'0')+j; j=k/10; k%=10; a=char(k+'0')+a; } if(j>0)a=char(j+'0')+a; return a; } string umnoji1(string s,int f) { int ds,k,t=0,i; string a=""; ds=s.size()-1; for(i=ds;i>=0;i--) { k=(s[i]-'0')*f+t; t=k/10; k%=10; a=char(k+'0')+a; } if(t>0)a=char(t+'0')+a; return a; } string umnoji2(string s,string f) { int ds,df,br=0,i,j; string a="",b=""; if(sravni(s,f)==0)swap(s,f); df=f.size()-1; for(i=df;i>=0;i--) { b=umnoji1(s,f[i]-'0'); for(j=1;j<=br;j++) { b=b+'0'; } br++; a=saberi(a,b); } return a; } string izvadi(string s,string f) { int ds,df,i,k=0,t; string a=""; if(sravni(s,f)==0)swap(s,f); izravni(s,f); //cout<=0;i--) { if((s[i]-'0')-(f[i]-'0')+k<0) { t=(s[i]-'0')-(f[i]-'0')+k+10; k=-1; } else { t=(s[i]-'0')-(f[i]-'0')+k; k=0; } a=char(t+'0')+a; } while(a[0]=='0')a.erase(0,1); return a; } string razdeli(string s,long long f) { long long ds,df,i,p=0; string a=""; ds=s.size()-1; //cout<=f){a=a+char(p/f+'0');p%=f;fl=1;} else if(fl==1 && p0)a=a+char(p/f+'0'); return a; } int main() { freopen("symbiosis.in", "r", stdin); freopen("symbiosis.out", "w", stdout); cin>>a>>b>>c; string help = umnoji2(a,c),kkk="1",ppp; long long br=0; while(sravni(b,help)!=0) { // cout<