// AOJ 2123: Divisor Function
// 2017.12.29 bal4u@uu

#include <stdio.h>
 
long long tbl[89] = {
1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260,1680,2520,5040,10080,15120,25200,27720,55440,
110880,166320,277200,332640,554400,665280,720720,1441440,2162160,3603600,4324320,7207200,8648640,
10810800,21621600,36756720,61261200,73513440,122522400,147026880,183783600,367567200,698377680,
735134400,1102701600ll,1163962800ll,1396755360ll,2327925600ll,2793510720ll,3491888400ll,6983776800ll,
13967553600ll,20951330400ll,27935107200ll,41902660800ll,48886437600ll,80313433200ll,160626866400ll,
321253732800ll,481880599200ll,642507465600ll,963761198400ll,1124388064800ll,1927522396800ll,
2248776129600ll,3373164194400ll,4497552259200ll,4658179125600ll,6746328388800ll,9316358251200ll,
13974537376800ll,18632716502400ll,27949074753600ll,32607253879200ll,55898149507200ll,65214507758400ll,
97821761637600ll,130429015516800ll,144403552893600ll,195643523275200ll,288807105787200ll,
433210658680800ll,577614211574400ll,866421317361600ll,1010824870255200ll};

double ans[89] = {
1.000000,1.500000,1.750000,2.000000,2.333333,2.500000,2.527778,2.583333,2.800000,3.000000,
3.033333,3.100000,3.250000,3.358333,3.428571,3.466667,3.542857,3.714286,3.838095,3.900000,
3.936508,3.966032,4.051948,4.187013,4.254545,4.294372,4.326580,4.363636,4.396364,4.398268,
4.509091,4.581818,4.624709,4.659394,4.699301,4.734545,4.736597,4.778866,4.855944,4.896750,
4.933476,4.975730,5.013048,5.015220,5.059975,5.141588,5.154474,5.182394,5.184434,5.193133,
5.237611,5.276893,5.279179,5.326290,5.412198,5.455152,5.457299,5.476629,5.500611,5.508844,
5.557868,5.647511,5.692332,5.694573,5.714743,5.739768,5.748359,5.762366,5.793981,5.796262,
5.816792,5.842252,5.842264,5.888619,5.890938,5.911803,5.937691,5.946578,5.961068,5.993773,
5.996133,6.017371,6.030712,6.043722,6.078575,6.080968,6.102506,6.129230,6.138403};

int bsch(long long x)
{
	int m, l = 0, r = 89;

    while (l < r) {
        m = (l + r) >> 1;
		if (tbl[m] == x) return m;
        if (tbl[m] < x) l = m + 1; else r = m;
    }
	return l-1;
}

int main()
{
    long long n;

	while(scanf("%lld", &n) && n > 0) {
        printf("%.6lf\n",ans[bsch(n)]);
    }
	return 0;
}