矩阵快速幂
//f[n]=(A*f[n-1]+B*f[n-2])%7 
//n<=1e8
//引申:已知递推式 f[n]=a0*f[n-1]+a1*f[n-2]+...+ap*f[n-p+1]
//其中n范围较大(用记忆化搜索等等方法会超时)
//这时考虑 O(logn)时间复杂度的算法——矩阵ksm! 
//#include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
#define mod 7
using namespace std;
int a,b,n;
struct Matrix{
	long long m[2][2];
};
Matrix mul(Matrix a,Matrix b){
	Matrix c;
	c.m[0][0]=0;	c.m[0][1]=0;
	c.m[1][0]=0;	c.m[1][1]=0;
	for(int i=0;i<2;i++){
		for(int j=0;j<2;j++){
			for(int k=0;k<2;k++){
				c.m[i][j]+=a.m[i][k]*b.m[k][j];
				c.m[i][j]%=mod;
			}
		}
	}
	return c;
}
Matrix ksm(Matrix a,int t){
	Matrix ans;
	ans.m[0][0]=1;	ans.m[0][1]=0;
	ans.m[1][0]=0;	ans.m[1][1]=1;
	while(t){
		if(t&1){
			ans=mul(ans,a);
		}
		a=mul(a,a);
		t/=2;
	}
	return ans;
}
int main(){
	while(cin>>a>>b>>n){
		if(a==0&&b==0&&n==0) break;
		if(n==1||n==2){
			puts("1");
			continue;
		}
		Matrix init;
		init.m[0][0]=a;	init.m[0][1]=1;
		init.m[1][0]=b;	init.m[1][1]=0;
		Matrix ans=ksm(init,n-2);
		cout<<(ans.m[0][0]+ans.m[1][0])%mod<<endl;
	}
	return 0;
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号