#include #include #define POS(i,j,k) (((i)*(n+1)+(j))*(n+1)+(k)) void run(void){ int n; scanf("%d",&n); int cnt[4]={0}; int i; for(i=0;i=3?3:a]++; } double *e=(double *)malloc((n+1)*(n+1)*(n+1)*sizeof(double)); e[POS(0,0,0)]=0.0; double p=(double)1/n; int j,k; for(i=0;i<=cnt[0];i++){ for(j=0;j<=cnt[1]+cnt[0]-i;j++){ for(k=(i==0&&j==0);k<=cnt[2]+cnt[1]+cnt[0]-i-j;k++){ e[POS(i,j,k)]=(1.0+i*p*(i>0?e[POS(i-1,j+1,k)]:0)+j*p*(j>0?e[POS(i,j-1,k+1)]:0)+k*p*(k>0?e[POS(i,j,k-1)]:0))*n/(i+j+k); } } } printf("%.6lf\n",e[POS(cnt[0],cnt[1],cnt[2])]); free(e); return; } int main(void){ run(); return 0; }