Codeforces 450 B. Jzzhu and Sequences

2015-07-20 18:06:13 · 作者: · 浏览: 6


6个一循环.....取模的时候很坑...

B. Jzzhu and Sequences time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output

Jzzhu has invented a kind of sequences, they meet the following property:

\

You are given x and y, please calculate fn modulo 1000000007 (109?+?7).

Input

The first line contains two integers x and y ("x|,?|y|?≤?109). The second line contains a single integer n (1?≤?n?≤?2?109).

Output

Output a single integer representing fn modulo 1000000007 (109?+?7).

Sample test(s) input
2 3
3
output
1
input
0 -1
2
output
1000000006
Note

In the first sample, f2?=?f1?+?f3, 3?=?2?+?f3, f3?=?1.

In the second sample, f2?=??-?1; ?-?1 modulo (109?+?7) equals (109?+?6).



#include 
  
   
#include 
   
     #include 
    
      #include 
     
       using namespace std; typedef long long int LL; const LL mod=1000000007LL; LL a,b,n; int main() { cin>>a>>b>>n; n--; n=n%6; LL ans=0; switch(n) { case(0): { ans=(a+mod)%mod; break; } case(1): { ans=(b+mod)%mod; break; } case(2): { ans=(b-a+2*mod)%mod; break; } case(3): { ans=(mod-a)%mod; break; } case(4): { ans=(mod-b)%mod; break; } case(5): { ans=(a-b+2*mod)%mod; break; } } cout<