P26191 [AtCoder] log
普及-
题目描述

Problem Statement

Snuke is visiting a shop in Tokyo called 109 to buy some logs.
He wants n logs: one of length 1, one of length 2, ..., and one of length n.
The shop has n+1 logs in stock: one of length 1, one of length $2, \dots$, and one of length n+1. Each of these logs is sold for 1 yen (the currency of Japan).
He can cut these logs as many times as he wants after buying them. That is, he can get k logs of length $L_1, \dots, L_k$ from a log of length L, where $L = L_1 + \dots + L_k.$ He can also throw away unwanted logs.
Snuke wants to spend as little money as possible to get the logs he wants.
Find the minimum amount of money needed to get n logs of length 1 to n.

Input

Input is given from Standard Input in the following format:
n

Output

Print the minimum amount of money needed to get n logs of length 1 to n.

Constraints

  • $1 \leq n \leq 10^{18}$

Sample Input 1

4

Sample Output 1

3

One way to get the logs he wants with 3 yen is:

  • Buy logs of length 2, 4, and 5.
  • Cut the log of length 5 into two logs of length 1 each and a log of length 3.
  • Throw away one of the logs of length 1.

Sample Input 2

109109109109109109

Sample Output 2

109109108641970782

输入格式

见题面 Input 部分

输出格式

见题面 Output 部分

样例输入
4
样例输出
3