#include <stdio.h>
#include <stdlib.h>

int main() 
{
    int n;
    scanf("%d",&n);
    if(n == 1)//n = 1时情况特殊
    {
        printf("%d",0);
    }
    if(n == 2 || n == 3)//n = 2或 n = 3时情况亦特殊
    {
        printf("%d",1);
    }
    int An = 0;//开始递推数列
    if(n > 3)
    {
        int * arr = (int *)malloc(n * sizeof(int));
        arr[0] = 0;
        arr[1] = 1;
        arr[2] = 1;
        for(int i = 3;i < n;i++)
        {
            arr[i] = arr[i - 3] + 2 * arr[i - 2] + arr[i - 1];//递推表达式,可赋值法尝试对错
            An = arr[i];
        }
        printf("%d",An);
    }

    return 0;
}