Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:5 s 空间限制:256 MB

#4332. Function

Statistics

题目描述

现在你有一个函数:

inline int f(int x) {
    int tot = 0, alr = 0, now;
    while (alr<x) {
        now = rand(x) + 1;
        tot++;
        if (!v[now]) alr++, v[now] = 1;
    }
    return tot;
}

其中 $v$ 可以被看成是一个无限大的每一个位置初始值都为 $0$ 的数组,$\mathrm{rand}(x)$ 等概率均匀随机返回 $[0,x)$ 中的一个整数。

对于一个给定的 $n$,大(shen)葱想知道 $f(n)$ 的期望是多少。

但是这个问题太简单了,于是他把它丢给了你。

输入格式

一行一个整数 $N$。

输出格式

一行一个数,表示 $f(N)$ 的期望,精确到整数。

样例

input

10

output

29

数据范围与提示

对于 $20\%$ 的数据,$N\le 100$;

对于 $40\%$ 的数据,$N\le 10^3$;

对于 $60\%$ 的数据,$N\le 3\times 10^5$;

对于 $80\%$ 的数据,$N\le 10^7$;

对于 $100\%$ 的数据,$N\le 10^9$。