#include #include #include #include #include #include #include #include #include #include #include #include #include #define repd(i,a,b) for (int i=(int)(a);i<(int)(b);i++) #define rep(i,n) repd(i,0,n) #define all(x) (x).begin(),(x).end() #define mod 1000000007 #define inf 2000000007 #define mp make_pair #define pb push_back typedef long long ll; using namespace std; template inline void output(T a, int p) { if(p) cout << fixed << setprecision(p) << a << "\n"; else cout << a << "\n"; } // end of template int main() { cin.tie(0); ios::sync_with_stdio(0); // source code vector fact(21, 1); repd(i, 2, 21){ fact[i] = fact[i - 1] * i; } vector ret(21, 0); ret[2] = 2; repd(i, 3, 21){ ll tmp = 0; repd(j, 1, i){ repd(k, j + 1, i){ tmp += j * k; } } // tmp *= 2 * fact[i - 2]; // tmp += 2 * fact[i - 1]; // ret[i] = (double)tmp / (double)fact[i]; ret[i] = (double)tmp * 2.0 / (double)((i - 1) * i); ret[i] += 2.0 / (double)i; ret[i] += ret[i - 1]; } int N; cin >> N; output(ret[N], 10); return 0; }