#include #include #include #include using namespace std; double memo[501][501]; double f(int a, int b) { if(memo[a][b]>-0.5) { //cerr<<"f("<0 && b>0) sum1 += a*(2*b) * (f(a, b-1)+1) *x; cerr<<"a,b,sum1b ("<0 ) sum1 += b* f(a,b-1) *x; cerr<<"a,b,sum1c ("<1 ) sum1 += ((2*b)*(2*b-1)/2-b) * (f(a+2,b-2)+1) *x; cerr<<"a,b,sum1f ("<0) sum2 += (double)(2*b)/(a+2*b) * (f(a+1, b-1)+1); cerr<<"a,b,sum2 ("<1)sum1+=(1-geta-getokb-getba)*(f(a+2,b-2)+1); return ret=sum1; } main() { ifstream cin("I.txt"); int n; for(int i=0; i<=500; i++) for(int j=0; j<=500; j++) memo[i][j]=-1.0; while(cin>>n && n) { printf("%.10lf\n",f(0,n/2)); } return 0; }