#include #define REP(i,s,n) for(int i=s;i vd; typedef vector mat; vector gauss_jordan(const mat& A,const vd& b){ int n = A.size(); mat B(n,vd(n+1)); for(int i=0;i abs(B[pivot][i]) ) pivot = j; swap(B[i],B[pivot]); if( abs(B[i][i]) < EPS ) return vd(); for(int j=i+1;j<=n;j++) B[i][j] /= B[i][i]; for(int j=0;j(K+1,0)); vd b(K+1,0); rep(src,K){ REP(dst,src+1,src+7){ if( dst <= K ) { A[src][dst] += -1; } else { A[src][0] += -( (src+7) - dst ); break; } } A[src][src] += 6; b[src] += 6; } A[K][K] = 1; vector answer = gauss_jordan(A,b); printf("%.10f\n",answer[0]); } int main(){ cin >> K; compute(); return 0; }