CF93D.Flags

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

When Igor K. was a freshman, his professor strictly urged him, as well as all other freshmen, to solve programming Olympiads. One day a problem called "Flags" from a website called Timmy's Online Judge caught his attention. In the problem one had to find the number of three-colored flags that would satisfy the condition... actually, it doesn't matter. Igor K. quickly found the formula and got the so passionately desired Accepted.

However, the professor wasn't very much impressed. He decided that the problem represented on Timmy's Online Judge was very dull and simple: it only had three possible colors of flag stripes and only two limitations. He suggested a complicated task to Igor K. and the fellow failed to solve it. Of course, we won't tell anybody that the professor couldn't solve it as well.

And how about you? Can you solve the problem?

The flags consist of one or several parallel stripes of similar width. The stripes can be one of the following colors: white, black, red or yellow. You should find the number of different flags with the number of stripes from LL to RR , if:

  • a flag cannot have adjacent stripes of one color;
  • a flag cannot have adjacent white and yellow stripes;
  • a flag cannot have adjacent red and black stripes;
  • a flag cannot have the combination of black, white and red stripes following one after another in this or reverse order;
  • symmetrical flags (as, for example, a WB and a BW flag, where W and B stand for the white and black colors) are considered the same.

输入格式

The only line contains two integers LL and RR ( 1<=L<=R<=1091<=L<=R<=10^{9} ). They are the lower and upper borders of the number of stripes on the flag.

输出格式

Print a single number — the number of different flags that would satisfy the condition of the problem and would have from LL to RR stripes, modulo 10000000071000000007 .

输入输出样例

  • 输入#1

    3 4
    

    输出#1

    23
  • 输入#2

    5 6
    

    输出#2

    64

说明/提示

In the first test the following flags exist (they are listed in the lexicographical order, the letters B, R, W, Y stand for Black, Red, White and Yellow correspondingly):

3 stripes: BWB, BYB, BYR, RWR, RYR, WBW, WBY, WRW, WRY, YBY, YRY (overall 11 flags).

4 stripes: BWBW, BWBY, BYBW, BYBY, BYRW, BYRY, RWRW, RWRY, RYBW, RYBY, RYRW, RYRY (12 flags).

That's why the answer to test 1 is equal to 11+12=2311+12=23 .

首页