问题陈述
对于一个整数序列 P=(P1,ldots,PM),令 f(P) 表示在 Pi 和 Pi+1 之间插入 Pi+Pi+1 所得到的序列,1leqileqM−1。更正式地说:
- 对于每个 1leqileqM−1,令 Qi=Pi+Pi+1。
- 令 f(P) 定义为一个由 2M−1 个整数组成的序列 $f(P) = (P_1, Q_1, P_2, Q_2, \\ldots, P_{M-1}, Q_{M-1}, P_M)$。
给定三个正整数 a、b 和 N,其中 a,bleqN。让我们从序列 A=(a,b) 开始,并定义一个序列 B=(B1,B2,ldots) 如下。
- 进行以下操作 N 次:用 f(A) 替换 A。
- 然后,从 A 中移除所有大于 N 的值,并令 B 成为结果序列。
找出 BL,ldots,BR。
约束条件
- 1leqNleq3times105
- 1leqa,bleqN
- 1leqLleqRleq1018
- R−L<3times105
- R 不超过序列 B 中的元素数量。
输入
输入以以下格式从标准输入中给出:
a b N
L R
输出
打印一行,包含用空格分隔的 BL,ldots,BR。
示例输入 1
1 1 4
1 7
示例输出 1
1 4 3 2 3 4 1
初始时,A=(1,1)。将 A 替换为 f(A) 的过程如下:
- 第一次替换后:A=(1,2,1)。
- 第二次替换后:A=(1,3,2,3,1)。
- 第三次替换后:A=(1,4,3,5,2,5,3,4,1)。
- 第四次替换后:$A = (1, 5, 4, 7, 3, 8, 5, 7, 2, 7, 5, 8, 3, 7, 4, 5, 1)$。
因此,我们有 B=(1,4,3,2,3,4,1)。我们需要报告这个序列的第 1 到第 7 个元素。
示例输入 2
1 1 4
2 5
示例输出 2
4 3 2 3
同样,我们有 B=(1,4,3,2,3,4,1)。我们需要报告这个序列的第 2 到第 5 个元素。
示例输入 3
2 1 10
5 15
示例输出 3
8 3 10 7 4 9 5 6 7 8 9
示例输入 4
10 10 10
2 2
示例输出 4
10