#include<iostream>
using namespace std;
int a,b;
int f(int n){
if(n==1||n==2)
return 1;
else
return (a*f(n-1)+b*f(n-2))%7;
}
int main(){
while(cin>>a>>b){
__int64 c;//64位整数,相当于long long
scanf("%I64d",&c);//不能使用cin进行输入,要用%I64d
if(a==0&&b==0&&c==0)
break;
int n;
n=c%49;//简单递归应为模运算中(a+b)%p=(a%p+b%p)%p;所以循环周期为7*7=49;最重要的一点
cout<<f(n)<<endl;//c(即n)为0时,f(n)无法有n-1和n-2,程序出错退出
}
return 0;
using namespace std;
int a,b;
int f(int n){
if(n==1||n==2)
return 1;
else
return (a*f(n-1)+b*f(n-2))%7;
}
int main(){
while(cin>>a>>b){
__int64 c;//64位整数,相当于long long
scanf("%I64d",&c);//不能使用cin进行输入,要用%I64d
if(a==0&&b==0&&c==0)
break;
int n;
n=c%49;//简单递归应为模运算中(a+b)%p=(a%p+b%p)%p;所以循环周期为7*7=49;最重要的一点
cout<<f(n)<<endl;//c(即n)为0时,f(n)无法有n-1和n-2,程序出错退出
}
return 0;
}