/*
#include <stdio.h>
double f(long long int n){
double a=0,b=n,c;
double k=0.0000000001;
while(b-a>k){
c=(a+b)/2;
if(c*c>n) b=c;
else a=c;
printf("%.15lf %.15lf %.15lf\n",a,b,c);
}
return c;
}
int main()
{
int t,i;
long long int n;
scanf("%d",&t);
for(i=0;i<t;i++){
scanf("%lld",&n);
printf("%.8lf\n",f(n));
}
return 0;
}
*/
/*
#include <stdio.h>
int arr[1000001]={};
int f(int i){
for(int j=2;j*j<=i;j++){
if(arr[j]==0) continue;
if(i%j==0) return 1;
}
return 0;
}
int main()
{
int n,i,a,b,k;
scanf("%d %d",&a,&b);
for(i=2;i<=b;i++){
k=0;
k=f(i);
if(k==0) arr[i]=1;
}
for(i=a;i<=b;i++){
if(arr[i]!=0) printf("%d ",i);
}
return 0;
}
*/
/*
#include <stdio.h>
int arr,s[1000002]={};
int main()
{
int n,m,i,a,b,sum;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++){
scanf("%d",&arr);
s[i+1]=s[i]+arr;
}
for(i=0;i<m;i++){
scanf("%d %d",&a,&b);
sum=s[b]-s[a-1];
printf("%d\n",sum);
}
return 0;
}
*/
#include <stdio.h>
int arr[10001]={};
void f(int i){
if(i<=1) {
arr[i]=1;
return ;
}
f(i-1);
arr[i]=arr[arr[i-1]]+arr[i-1-arr[i-1]];
return ;
}
int main()
{
int n;
scanf("%d",&n);
f(n);
printf("%d",arr[n]);
return 0;
}