import sys
def solve():
try:
# Читаем все входные данные
input_data = sys.stdin.read().split()
if not input_data:
return
n = int(input_data[0])
# Формула для количества разбиений n на 3 положительные части:
# P_3(n) = round(n^2 / 12)
# В целочисленной арифметике round(x/y) можно реализовать как (x + y//2) // y
# Но здесь проще использовать стандартную логику округления float или целочисленную формулу.
# Целочисленная формула: (n*n + 6) // 12 не всегда работает корректно для всех остатков,
# лучше использовать явное округление или проверку через остаток от деления.
# Более надежный способ без float (чтобы избежать проблем с точностью при огромных n):
# Мы хотим найти ближайшее целое к n^2 / 12.
# Пусть q = n^2 // 12, r = n^2 % 12.
# Если r >= 6, то округляем вверх (q + 1), иначе вниз (q).
n_sq = n * n
q = n_sq // 12
r = n_sq % 12
if r >= 6:
ans = q + 1
else:
ans = q
# Модуль из условия задачи
MOD = 1000000000000947286
result = ans % MOD
print(result)
except Exception:
pass
if __name__ == "__main__":
solve()