#include <cstdio>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <algorithm>
using namespace std;
const int N=205;
int n;
long double Fac[N];
long double C[N][N];
long double P[N][N];
long double F[N][N][N];
long double G[N][N];
long double d[N];
void predo(){
d[1]=0; d[2]=1;
for (int i=3;i<=n;i++) d[i]=(i-1)*(d[i-2]+d[i-1]);
memset(C,0,sizeof(C));
C[0][0]=1;
for (int i=1;i<=n;i++)
for (int j=0;j<=i;j++){
if (j) C[i][j]+=C[i-1][j-1];
C[i][j]+=C[i-1][j];
}
Fac[0]=1;
for (int i=1;i<=n;i++) Fac[i]=Fac[i-1]*i;
for (int i=0;i<=n;i++)
for (int j=0;j<=i;j++)
P[i][j]=C[i][j]*Fac[j];
}
int main(){
scanf("%d",&n);
predo();
memset(F,0,sizeof(F));
memset(G,0,sizeof(G));
F[0][0][0]=1;
G[0][0]=1;
for (int i=1;i<=n;i++) G[0][i]=1;
for (int i=2;i<=n;i++){
for (int j=2;j<=i;j++)
for (int k=1;j*k<=i;k++){
if (k==1)
F[i][j][k]=G[i-j][j-1]*P[n-i+j][j]/j;
else
F[i][j][k]=F[i-j][j][k-1]*P[n-i+j][j]/j/k;
// printf("%d %d %d %lf\n",i,j,k,F[i][j][k]);
}
for (int j=2;j<=n;j++){
G[i][j]=G[i][j-1];
for (int k=1;j*k<=i;k++)
G[i][j]+=F[i][j][k];
}
}
long double ret=0;
for (int j=2;j<=n;j++)
for (int k=1;j*k<=n;k++)
ret+=F[n][j][k]*j*k;
// cout << d[4] << endl;
cout << fixed << setprecision(14) << ret/d[n] << endl;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNpbmNsdWRlIDxpb21hbmlwPgojaW5jbHVkZSA8aW9zdHJlYW0+CiNpbmNsdWRlIDxhbGdvcml0aG0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBOPTIwNTsKaW50IG47CmxvbmcgZG91YmxlIEZhY1tOXTsKbG9uZyBkb3VibGUgQ1tOXVtOXTsKbG9uZyBkb3VibGUgUFtOXVtOXTsKbG9uZyBkb3VibGUgRltOXVtOXVtOXTsKbG9uZyBkb3VibGUgR1tOXVtOXTsKbG9uZyBkb3VibGUgZFtOXTsKCnZvaWQgcHJlZG8oKXsKCWRbMV09MDsgZFsyXT0xOwoJZm9yIChpbnQgaT0zO2k8PW47aSsrKSBkW2ldPShpLTEpKihkW2ktMl0rZFtpLTFdKTsKCW1lbXNldChDLDAsc2l6ZW9mKEMpKTsKCUNbMF1bMF09MTsKCWZvciAoaW50IGk9MTtpPD1uO2krKykKCQlmb3IgKGludCBqPTA7ajw9aTtqKyspewoJCQlpZiAoaikgQ1tpXVtqXSs9Q1tpLTFdW2otMV07CgkJCUNbaV1bal0rPUNbaS0xXVtqXTsKCQl9CglGYWNbMF09MTsKCWZvciAoaW50IGk9MTtpPD1uO2krKykgRmFjW2ldPUZhY1tpLTFdKmk7Cglmb3IgKGludCBpPTA7aTw9bjtpKyspCgkJZm9yIChpbnQgaj0wO2o8PWk7aisrKQoJCQlQW2ldW2pdPUNbaV1bal0qRmFjW2pdOwp9CgoKaW50IG1haW4oKXsKCXNjYW5mKCIlZCIsJm4pOwoJcHJlZG8oKTsKCW1lbXNldChGLDAsc2l6ZW9mKEYpKTsKCW1lbXNldChHLDAsc2l6ZW9mKEcpKTsKCUZbMF1bMF1bMF09MTsKCUdbMF1bMF09MTsKCWZvciAoaW50IGk9MTtpPD1uO2krKykgR1swXVtpXT0xOwoJZm9yIChpbnQgaT0yO2k8PW47aSsrKXsKCQlmb3IgKGludCBqPTI7ajw9aTtqKyspCgkJCWZvciAoaW50IGs9MTtqKms8PWk7aysrKXsKCQkJCWlmIChrPT0xKQoJCQkJCUZbaV1bal1ba109R1tpLWpdW2otMV0qUFtuLWkral1bal0vajsKCQkJCWVsc2UKCQkJCQlGW2ldW2pdW2tdPUZbaS1qXVtqXVtrLTFdKlBbbi1pK2pdW2pdL2ovazsKLy8JCQkJcHJpbnRmKCIlZCAlZCAlZCAlbGZcbiIsaSxqLGssRltpXVtqXVtrXSk7CgkJCX0KCQlmb3IgKGludCBqPTI7ajw9bjtqKyspewoJCQlHW2ldW2pdPUdbaV1bai0xXTsKCQkJZm9yIChpbnQgaz0xO2oqazw9aTtrKyspCgkJCQlHW2ldW2pdKz1GW2ldW2pdW2tdOwoJCX0KCX0KCWxvbmcgZG91YmxlIHJldD0wOwoJZm9yIChpbnQgaj0yO2o8PW47aisrKQoJCWZvciAoaW50IGs9MTtqKms8PW47aysrKQoJCQlyZXQrPUZbbl1bal1ba10qaiprOwovLwljb3V0IDw8IGRbNF0gPDwgZW5kbDsKCWNvdXQgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDE0KSA8PCByZXQvZFtuXSA8PCBlbmRsOwp9