import java.util.Locale;

public class Euler573 {
    static double computeExpected(long n) {
        if (n <= 1)
            return 1.0;

        double nn = (double) n;
        double c = Math.pow((nn - 1.0) / nn, nn - 1.0);
        double total = 1.0 + c;

        for (long k = 1; k <= n - 2; k++) {
            long m = n - k;
            double logR = k * Math.log1p(1.0 / k) + (m - 1) * Math.log1p(-1.0 / m);
            c *= Math.exp(logR);
            total += c;
        }
        return total;
    }

    public static String solve() {
        return String.format(Locale.US, "%.4f", computeExpected(1000000));
    }

    public static void main(String[] args) {
        System.out.println(solve());
    }
}
