#include <iostream>
#include <cstdlib>
using namespace std;
long long int M = 1000000007;
long long int find(long long int a, long long int b, long long int n)
{
if(n==a)
return a;
if(n==b)
return b;
long long int temp;
temp=n%6;
switch(temp)
{
case 1:
return a;
case 2:
return b;
case 3:
return b-a;
case 4:
return -a;
case 5:
return -b;
case 0:
return a-b;
}
}
int main(void)
{
int T;
cin>>T;
while(T--)
{
long long int a, b, n, temp;
cin>>a>>b>>n;
temp=find(a, b, n)%M;
if(temp<0)
temp=temp+M;
cout<<temp<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4gCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmxvbmcgbG9uZyBpbnQgTSA9IDEwMDAwMDAwMDc7Cgpsb25nIGxvbmcgaW50IGZpbmQobG9uZyBsb25nIGludCBhLCBsb25nIGxvbmcgaW50IGIsIGxvbmcgbG9uZyBpbnQgbikKewoJaWYobj09YSkKCQlyZXR1cm4gYTsKCWlmKG49PWIpCgkJcmV0dXJuIGI7Cglsb25nIGxvbmcgaW50IHRlbXA7Cgl0ZW1wPW4lNjsKCXN3aXRjaCh0ZW1wKQoJewoJCWNhc2UgMToKCQkJcmV0dXJuIGE7CgkJY2FzZSAyOgoJCQlyZXR1cm4gYjsKCQljYXNlIDM6CgkJCXJldHVybiBiLWE7CgkJY2FzZSA0OgoJCQlyZXR1cm4gLWE7CgkJY2FzZSA1OgoJCQlyZXR1cm4gLWI7CgkJY2FzZSAwOgoJCQlyZXR1cm4gYS1iOwoJfQp9CgppbnQgbWFpbih2b2lkKQp7CglpbnQgVDsKCWNpbj4+VDsKCXdoaWxlKFQtLSkKCXsKCQlsb25nIGxvbmcgaW50IGEsIGIsIG4sIHRlbXA7CgkJY2luPj5hPj5iPj5uOwoJCXRlbXA9ZmluZChhLCBiLCBuKSVNOwoJCWlmKHRlbXA8MCkKCQkJdGVtcD10ZW1wK007CgkJY291dDw8dGVtcDw8IlxuIjsKCgl9CgoJcmV0dXJuIDA7Cn0KCgo=