#P14891. [OOI2018预选赛long]简单到不能再简单!

[OOI2018预选赛long]简单到不能再简单!

题目描述

Ivan 放学回家后,想了很久今天数学小组课上老师讲的无限数列。作为例子之一,老师给出了如下有趣的正整数序列:

1,1,2,1,1,2,3,2,1,1,2,3,4,3,2,1,1,1,2,1,1,2,3,2,1,1,2,3,4,3,2,1,\ldots

老师解释说,在这个序列中,每一个正整数都会出现无限多次。不过 Ivan 还对另一个问题感兴趣:怎样确定序列中第 nn 个位置上的数是多少?老师回答说这很简单,并让 Ivan 自己思考这个问题。

Ivan 不仅喜欢数学,也喜欢编程,因此他想实现一个算法,能够在非常大的 nn 的范围内快速回答这个问题。请帮助他。

输入格式

第一行输入一个整数 nn

1n105000001 \le n \le 10^{500000}

输出格式

输出一个整数,表示给定序列的第 nn 项。输出不得包含空格和前导零。

样例

输入

7

输出

3

说明

评测方不保证存在一种解法可以在所有测试上以两倍时间余量运行。

评分方式

本题共有若干组测试。每组分数只有在通过该组所有测试以及所有前置测试组后才会获得。比赛期间可以看到所有测试的评测结果。

组别 分数 附加限制 说明
0 - 样例测试
1 10 n1018n \le 10^{18} -
2 n10100n \le 10^{100}
3 5 n101000n \le 10^{1000}
4 n102000n \le 10^{2000}
5 n105000n \le 10^{5000}
6 n1010000n \le 10^{10000}
7 n1020000n \le 10^{20000}
8 n1050000n \le 10^{50000}
9 n1075000n \le 10^{75000}
10 n10100000n \le 10^{100000}
11 n10150000n \le 10^{150000}
12 n10200000n \le 10^{200000}
13 n10250000n \le 10^{250000}
14 n10300000n \le 10^{300000}
15 10 n10400000n \le 10^{400000}
16 -