Загрузка данных


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()