問題文
整数列 P=(P1,ldots,PM) に対して、各 1leqileqM−1 に対して Pi と Pi+1 の間に Pi+Pi+1 を挿入することで得られる数列を f(P) と書くことにします。より形式的には次の通りです:
- 1leqileqM−1 に対して Qi=Pi+Pi+1 とする。
- 2M−1 項からなる数列 f(P) を $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) を定めます。
- A を f(A) に取り換えることを、N 回繰り返す。
- その後、数列 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 1 4
1 7
出力例 1
1 4 3 2 3 4 1
はじめ A=(1,1) です。A を f(A) を取り換える操作により、数列 A は以下のように変化します:
- 1 回目の操作:A=(1,2,1)
- 2 回目の操作:A=(1,3,2,3,1)
- 3 回目の操作:A=(1,4,3,5,2,5,3,4,1)
- 4 回目の操作:$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