# 多倍長整数問題はPythonで # https://naoyat.hatenablog.jp/entry/yukicoder-381-bigint-in-python # -> C++ から Python 3 に 変更. # -*- coding: utf-8 -*- # 1. 入力情報. N = int(input()) # 2. そろばんの一列分で表現できる最大の数は?. ans = 0; X = N // 2; if N % 2 == 0: ans = X * X + 2 * X; else: ans = X * X + 3 * X + 1; # 3. 出力. # N = 1000000000000000 # -> 294800 で良いかどうか. ans %= 1000007; print(ans)