The flag consists of vertical stripes, each of which can be colored white, red, or blue. Moreover:
No two adjacent stripes may have the same color.
Any blue stripe must be placed between a red and a white stripe (in any order).
How many ways are there to color a flag with stripes?
One integer n~(1 \le n \le 10^6) — the number of stripes on the flag.
Print the number of ways to color a flag with stripes. The answer should be given modulo 10^9 + 7.
Example 1