int carry;
int x=100;
int ans[100]={1},a[100]={1},b[100]={1};
void add(){
for (int i = 0; i < 100; i++) {
ans[i] = 0;
}
for(int j=0;j<sizeof(b)/sizeof(b[0]);j++){
carry=a[j]+b[j];
ans[j]+=carry%10;
ans[j+1]+=carry/10;
}
}
void print_c(){
for(;x>=0;x--){
if(ans[x]!=0) break;
}
for(;x>=0;x--){
printf("%d",ans[x]);
}printf(".00");
}
int main(){
int n;
scanf("%d",&n);
for(int i=3;i<=n;i++){
add();
for(int k=0;k<sizeof(b)/sizeof(b[0]);k++){
a[k]=b[k];
}
for(int k1=0;k1<sizeof(ans)/sizeof(ans[0]);k1++){
b[k1]=ans[k1];
}
}
print_c();
return 0;
}