double s;n;main(){for(scanf("%d",&n);--n;)s+=~-n*(3*n+2)/12.+2./-~n;n=!printf("%f",s+1);} /* k≧3としてkのカードを置く際のコスト期待値を求める kのカードをiとjの間に置く確率は  iとjが隣り合う確率2/(k-1)  その間を選ぶ確率1/k の積であり、これはi,jに依存しない。コスト期待値は  端におく場合1*2/k  間に置く場合Σ[0