#include typedef long long ll; typedef unsigned long long ull; #define FOR(i,a,b) for(int (i)=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define RANGE(vec) (vec).begin(),(vec).end() using namespace std; class nComb { std::vector> impl_; public: // O(maxN^2) nComb(int maxN, int Mod=1) { impl_.resize(maxN+1, std::vector(maxN+1, 0)); for (int n = 0; n < maxN; ++n) { impl_[n][0] = 1; for (int r = 0; r <= n; ++r) { impl_[n+1][r+1] = (impl_[n][r+1]+impl_[n][r]); if (Mod > 1) impl_[n+1][r+1] %= Mod; } } } long long operator()(int n, int r) { return impl_[n][r]; } }; class BingoGame { public: void solve(void) { int N; cin>>N; // 期待値の和の線形性を使う // E[X+Y] = E[X] + E[Y] nComb nCr(100); // 12 個の各列毎に考える // 一つの列がそろうとき確率は // p = nCr(N,5) / nCr(99,5) // よって一つの列に対する期待値は // E[X] = 0 + 1 * p cout << (double)nCr(N,5)/nCr(99,5)*12 <solve(); delete obj; return 0; } #endif