云哥教你学数学!
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

今天云哥又在算法群里吐槽自己菜了,虽然群巨们都笑着答应,但实则全部都在膜拜云哥。突然有一个小萌新遇到一个这样的问题来问云哥:

       众所周知丑数是非常神奇的数字,虽然他叫丑数,但是他看起来就特别的美妙。现在我们需要从小到大找到第a个和第b个丑数。(a<b)分别设为f(1)f(2)。现在我们需要求的f(n)也是一个美妙的数字,已知f(x)=2*f(x-1)+3*f(x-2)   (x>2),f(n)到底为多少,答案对mod=1e9+7取模。

       云哥笑着拍了拍小萌新的脑袋,说着“wdnmx”。

(丑数指只由分解后只由若干个23,5相乘。默认1为第一个丑数)

输入描述:

第一行输入三个整数a,b,n(1<=a<=b<=5*104,1<=n<=109)

输出描述:

输出f(n)对mod取余的结果(mod=1e9+7)

示例1

输入

复制
1 2 3

输出

复制
7

说明

第一个丑数是1,第二个丑数是2,f(3)=3*f(1)+2*f(2)=3*1+2*2=7

示例2

输入

复制
3 5 10

输出

复制
39365