[Kubic] Division
题目背景
建议先看 F 题题目背景。
题目描述
你有一个**可重集**,初始其中只有一个正整数 $n$。
你每次可以选择当前在集合中的一个正整数 $x$ 并删去,再指定一个正整数 $y$(不要求在集合中)满足 $x>y$,并往集合中加入 $y$ 和 $x-y$。
你需要保证在**任意时刻**,集合中的最大值**严格小于**集合中的最小值的 $2$ 倍。
求出你**最多**能进行多少次操作,并**输出构造方案**。
**输入数据保证最多能进行的操作次数不超过 $10^6$**。
输入输出格式
输入格式
共一行,一个整数 $n$。
输出格式
第一行,一个整数 $m$,表示你所构造的方案的操作次数。
接下来 $m$ 行,每行两个整数 $x,y$,表示一次操作($x,y$ 的意义与题面中一致)。
你需要保证 $x>y$ 且 $x$ 在当前集合中出现过。
输入输出样例
输入样例 #1
8
输出样例 #1
2
8 3
5 2
输入样例 #2
30
输出样例 #2
5
30 12
18 8
12 6
10 5
8 4
说明
对于 $100\%$ 的数据,$1\le n\le 10^9$。
||分值|$n$|
|:-:|:-:|:-:|
|$\operatorname{Subtask}1$|$10$|$\le 10$|
|$\operatorname{Subtask}2$|$20$|$\le 100$|
|$\operatorname{Subtask}3$|$30$|$\le 10^6$|
|$\operatorname{Subtask}4$|$40$|无特殊限制|
### 评分方法
以下情况将会使你在该测试点获得 $0$ 分:
- 输出格式不满足要求。
- 输出多余信息(包括空格和换行符)
- 构造的方案操作次数与标准答案不同。
- 构造的方案不符合题目要求。
- 时间超限。
如果没有上述情况,你在该测试点获得满分。
**保证 SPJ 占用不超过 $100\operatorname{ms},10\operatorname{MB}$**
### 样例解释 1
一种操作过程如下:
`8`
`3 5`
`2 3 3`
可以证明没有更优的方案。
### 样例解释 2
一种操作过程如下:
`30`
`12 18`
`8 10 12`
`6 6 8 10`
`5 5 6 6 8`
`4 4 5 5 6 6`
可以证明没有更优的方案。