#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector vl; typedef vector> vvl; typedef pair P; #define rep(i, n) for(ll i = 0; i < n; i++) #define exrep(i, a, b) for(ll i = a; i <= b; i++) #define out(x) cout << x << endl #define exout(x) printf("%.10f\n", x) #define chmax(x, y) x = max(x, y) #define chmin(x, y) x = min(x, y) #define all(a) a.begin(), a.end() #define rall(a) a.rbegin(), a.rend() #define pb push_back #define re0 return 0 const ll mod = 998244353; const ll INF = 1e16; int main() { ll k; cin >> k; vector dp(k + 6); // dp[i] : iから始めて、合計k以上となるまでサイコロを振る回数の期待値 for(ll i = k-1; i >= 0; i--) { dp[i] = 1.0; double x = 0.0; exrep(j, 1, 6) { x += dp[i + j]; } dp[i] += x / 6.0; } exout(dp[0]); re0; }