这是一场豪赌
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小徐(上帝角色)准备了 n 个盒子,其中恰有一个盒子里放着礼物,其余盒子都是空的。
\hspace{15pt}小张和小樊轮流进行“猜盒子”游戏,小张先手,整个过程分为两部分,如下。
\hspace{15pt}「选择阶段」:当前玩家从剩余的盒子中任选一个盒子:
\hspace{23pt}\bullet\,若选中有礼物的盒子,则当前玩家获得礼物,游戏结束。
\hspace{23pt}\bullet\,若选中空盒,则移除该盒子;若移除空盒后仍有多于 0 个盒子,轮到另一名玩家继续选择。
\hspace{15pt}「特权阶段」:在小张的回合,若剩余盒子数量多于 2 个且其特权尚未使用,他可以选择使用该特权来代替常规的「选择阶段」:
\hspace{23pt}\bullet\,小张从剩余盒子中,任选一个持有(暂不打开);
\hspace{23pt}\bullet\,小徐(上帝角色)从剩余空盒中,任选一个移除(不会移除小张选中的那个);
\hspace{23pt}\bullet\,小张可选择是否放弃手中盒子,若放弃,则从其他所有剩余盒子中,任选一个新盒子持有
\hspace{23pt}\bullet\,小张打开持有的盒子,同「选择阶段」判定。
\hspace{15pt}其中,“任选”意为等概率的随机选择。

\hspace{15pt}双方的目标都是最大化自己获得礼物的概率。请计算,若小张采用最优策略,其最终获胜的概率是多少?可以证明答案可以表示为一个不可约分数 \tfrac{p}{q},为了避免精度问题,请直接输出整数 \left(p \times q^{-1} \bmod M\right) 作为答案,其中 M = (10^9+7)q^{-1} 是满足 q\times q^{-1} \equiv 1 \pmod{M} 的整数。

输入描述:

\hspace{15pt}在一行上输入一个正整数 n\left(1\leq n\leq 10^9\right) 代表当前游戏开始前小徐拿出了多少个盒子。

输出描述:

\hspace{15pt}输出一个整数,表示小张在此次游戏使用最佳策略的情况下获得礼物的概率,答案对 \left(10^9+7\right) 取模。
示例1

输入

复制
2

输出

复制
500000004
示例2

输入

复制
3

输出

复制
666666672