biubiubiu坐地铁
题号:NC25193
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

BiuBiuBiu 每次出去玩都要去坐地铁,BiuBiuBiu 观察到,当地铁上人比较少的时候,大家都会选择那些与其他人不相邻的座位,现在地铁上有 n 个座位排成一排,1 号座位与 2 号相邻,n 号座位与 n-1 号相邻,除了 1 号与 n 号座位,任意 i 号座位都与 i-1 i+1 号座位相邻。现在有源源不断的人上车,每次只会有一个人上车,他会在所有的相邻座位没有人的座位中随机选择一个坐下,如果没有满足条件的座位则不会坐下。然后下一个人上车。求最后这辆地铁坐下的人数的期望。

输入描述:

输入一个整数n(1<=n<=1000000)。

输出描述:

能够证明期望是个分数,所以输出期望模1000000007。
示例1

输入

复制
3

输出

复制
666666673