/*
TASK: necklace
LANG: C++
*/
#include<stdio.h>
#include<stdlib.h>
int a[1000000][61]={0};
int stepen(int j)
{
    int k=1,i=1;
    while(i!=j){
                k=k*2;
                i++;
                }
    return k;
}
int main()
{
    int n,br=0,k,tmp,i=1,j,st;
    scanf("%d",&n);
    for(;;)
    {
                    bool flag=false;
                    tmp=i;
                    st=1;
                    k=0;
                    while(st<=tmp)
                    {
                                k++;
                                st=stepen(k);
                                
                    }          
                    for(j=k;j>=0;j--)
                    {
                                     st=stepen(j);
                                     if(st<=tmp){
                                                tmp=tmp-st;
                                                a[i][j-1]=1;
                                     }
                                     if(tmp==0)break;                                      
                    }
                    for(j=0;j<n;j++)
                    {
                                    
                                     if(a[i][j]==0)
                                     {
                                                   flag=true;
                                     
                                     }
                    }
                    if(flag==false)break;
                    else i++;
    }
    int l=i,p=0,q=0;
    for(i=1;i<=l;i++)
    {
                    p=0;
                    q=0;
                    if(a[i][0]==0)continue;
                    else for(j=0;j<n;j++)
                    {
                         if(a[i][j]==1&&j%2!=0)q++;
                         else if(a[i][j]==1)p++;
                    }
                    if(p>=q&&(p-q)%3==0)br++;
                    else if(p<q&&(q-p)%3==0)br++;
    }
    printf("%d\n",br);
    return 0;
}
                    
                    
