#include #define rep(i,a,b) for(int i=a;i=b;i--) #define fore(i,a) for(auto &i:a) #pragma GCC optimize ("-O3") using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); } //--------------------------------------------------------------------------------------------------- template void gaussianElimination(vector> &A) { int N = A.size(); int M = A[0].size(); assert(N <= M); int k = 0; for (int i = 0; i < N; i++) { int v = -1; for (int j = k; j < N && v == -1; j++) { if (A[j][i] != 0) { v = j; } } if (v == -1) continue; //a[i] = k; swap(A[k], A[v]); T x = A[k][i]; for (int j = 0; j < M; j++) A[k][j] = A[k][j] / x; for (int j = k + 1; j < N; j++) { for (int h = M - 1; h >= i; h--) A[j][h] = A[j][h] - A[k][h] * A[j][i]; } k++; } } template void print(vector> &A) { int N = A.size(); int M = A[0].size(); rep(y, 0, N) { rep(x, 0, M) cout << A[y][x] << "\t"; cout << endl; } } /*---------------------------------------------------------------------------------------------------             ∧_∧       ∧_∧  (´<_` )  Welcome to My Coding Space!      ( ´_ゝ`) /  ⌒i     /   \    | |     /   / ̄ ̄ ̄ ̄/  |   __(__ニつ/  _/ .| .|____      \/____/ (u ⊃ ---------------------------------------------------------------------------------------------------*/ int K; //--------------------------------------------------------------------------------------------------- void _main() { cin >> K; vector> A(K, vector(K + 1, 0)); rep(i, 0, K) { rep(j, 1, 7) { int next = (i + j > K) ? 0 : i + j; A[i][K] -= 1.0 / 6; if (i + j != K) A[i][next] += 1.0 / 6; } A[i][i] -= 1; } //print(A); gaussianElimination(A); //print(A); double ans = A[0][K]; printf("%.10f\n", ans); }