# 多倍長整数問題は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)