#arc123f. [arc123_f]Insert Addition

[arc123_f]Insert Addition

问题陈述

对于一个整数序列 P=(P1,ldots,PM)P = (P_1, \\ldots, P_M),令 f(P)f(P) 表示在 PiP_iPi+1P_{i+1} 之间插入 Pi+Pi+1P_i + P_{i+1} 所得到的序列,1leqileqM11\\leq i\\leq M-1。更正式地说:

  • 对于每个 1leqileqM11\\leq i\\leq M - 1,令 Qi=Pi+Pi+1Q_i = P_i + P_{i+1}
  • f(P)f(P) 定义为一个由 2M12M-1 个整数组成的序列 $f(P) = (P_1, Q_1, P_2, Q_2, \\ldots, P_{M-1}, Q_{M-1}, P_M)$。

给定三个正整数 aabbNN,其中 a,bleqNa, b\\leq N。让我们从序列 A=(a,b)A = (a, b) 开始,并定义一个序列 B=(B1,B2,ldots)B = (B_1, B_2, \\ldots) 如下。

  • 进行以下操作 NN 次:用 f(A)f(A) 替换 AA
  • 然后,从 AA 中移除所有大于 NN 的值,并令 BB 成为结果序列。

找出 BL,ldots,BRB_L, \\ldots, B_R

约束条件

  • 1leqNleq3times1051\\leq N\\leq 3\\times 10^5
  • 1leqa,bleqN1\\leq a, b\\leq N
  • 1leqLleqRleq10181\\leq L\\leq R\\leq 10^{18}
  • RL<3times105R - L < 3\\times 10^5
  • RR 不超过序列 BB 中的元素数量。

输入

输入以以下格式从标准输入中给出:

aa bb NN LL RR

输出

打印一行,包含用空格分隔的 BL,ldots,BRB_L, \\ldots, B_R


示例输入 1

1 1 4
1 7

示例输出 1

1 4 3 2 3 4 1

初始时,A=(1,1)A = (1, 1)。将 AA 替换为 f(A)f(A) 的过程如下:

  • 第一次替换后:A=(1,2,1)A = (1, 2, 1)
  • 第二次替换后:A=(1,3,2,3,1)A = (1, 3, 2, 3, 1)
  • 第三次替换后:A=(1,4,3,5,2,5,3,4,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)B = (1, 4, 3, 2, 3, 4, 1)。我们需要报告这个序列的第 11 到第 77 个元素。


示例输入 2

1 1 4
2 5

示例输出 2

4 3 2 3

同样,我们有 B=(1,4,3,2,3,4,1)B = (1, 4, 3, 2, 3, 4, 1)。我们需要报告这个序列的第 22 到第 55 个元素。


示例输入 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