#include<stdio.h>
FILE *f,*g;
long long n,a,b,c,d,az,bz,cz,dz;
void lgput(long long &a,long long &b,long long &c,long long &d,long long n)
{ if(n==1) { a=0; b=c=1; d=1; }
else if(n%2==0) { lgput(a,b,c,d,n/2); az=a*a+b*c; bz=a*b+b*d; cz=a*c+c*d; dz=c*b+d*d; a=az; b=bz; c=cz; d=dz; }
else { lgput(a,b,c,d,n/2); az=a*b+b*d; bz=a*a+b*c+a*b+b*d; cz=c*b+d*d; dz=c*a+c*d+c*b+d*d; a=az; b=bz; c=cz; d=dz; }
}
int main()
{ f=fopen("kfib.in","r"); g=fopen("kfib.out","w");
fscanf(f,"%lld",&n);
a=0; b=c=d=1; n--;
lgput(a,b,c,d,n);
fprintf(g,"%lld",d);
fclose(g);
return 0;
}