#arc149f. [arc149_f]Rational Number System

[arc149_f]Rational Number System

問題文

r>1r > 1 を有理数とし,pprr の分子,qqrr の分母とします.つまり p,qp, q は正整数で r=fracpqr = \\frac{p}{q} かつ gcd(p,q)=1\\gcd(p,q) = 1 が成り立つとします.

正整数 nnboldsymbolr\\boldsymbol{r} 進法展開 を,次の条件をすべて満たす整数列 (a1,ldots,ak)(a_1, \\ldots, a_k) のことと定義します.

  • aia_i00 以上 p1p-1 以下の整数
  • a1neq0a_1\\neq 0
  • n=sumi=1kairkin = \\sum_{i=1}^k a_ir^{k-i}

任意の正整数 nn が唯一の rr 進法展開を持つことが証明できます.


正整数 p,q,N,L,Rp, q, N, L, R が与えられます.ここで,p,qp, q1.01leqfracpq1.01 \\leq \\frac{p}{q} を満たします.

NN 以下の正整数全体を,fracpq\\frac{p}{q} 進法展開の辞書順が小さい方から順に並べたとき,L,L+1,ldots,RL, L+1, \\ldots, R 番目に並ぶ正整数を答えてください.

なお,正整数の入出力には通常の 1010 進法表記が用いられます.

数列の辞書順とは?

数列 A=(A1,ldots,AA)A = (A_1, \\ldots, A_{|A|})B=(B1,ldots,BB)B = (B_1, \\ldots, B_{|B|}) より辞書順で小さいとは,下記の 1. と 2. のどちらかが成り立つことを言います.ここで,A|A|, B|B| はそれぞれ AA, BB の長さを表します.

  1. A<B|A|<|B| かつ (A1,ldots,AA)=(B1,ldots,BA)(A_{1},\\ldots,A_{|A|}) = (B_1,\\ldots,B_{|A|}).
  2. ある整数 1leqileqminA,B1\\leq i\\leq \\min\\{|A|,|B|\\} が存在して,下記の 22 つがともに成り立つ.
    • (A1,ldots,Ai1)=(B1,ldots,Bi1)(A_{1},\\ldots,A_{i-1}) = (B_1,\\ldots,B_{i-1}).
    • Ai<BiA_i < B_i.

制約

  • 1leqp,qleq1091\\leq p, q \\leq 10^9
  • gcd(p,q)=1\\gcd(p,q) = 1
  • 1.01leqfracpq1.01 \\leq \\frac{p}{q}
  • 1leqNleq10181\\leq N\\leq 10^{18}
  • 1leqLleqRleqN1\\leq L\\leq R\\leq N
  • RL+1leq3times105R - L + 1\\leq 3\\times 10^5

入力

入力は以下の形式で標準入力から与えられます.

pp qq NN LL RR

出力

RL+1R-L+1 行出力してください.ii 行目には,NN 以下の正整数全体を,fracpq\\frac{p}{q} 進法展開の辞書順が小さい方から順に並べたとき,L+i1L + i - 1 番目に並ぶ正整数を出力してください.

正整数の出力には 1010 進法表記を用いてください.


入力例 1

3 1 9 1 9

出力例 1

1
3
9
4
5
2
6
7
8

99 以下の正整数の 33 進法展開は次の通りです.

1: (1),        2: (2),        3: (1, 0),
4: (1, 1),     5: (1, 2),     6: (2, 0),
7: (2, 1),     8: (2, 2),     9: (1, 0, 0).

入力例 2

3 2 9 1 9

出力例 2

1
2
3
4
6
9
7
8
5

99 以下の正整数の frac32\\frac32 進法展開は次の通りです.

1: (1),        2: (2),        3: (2, 0),     
4: (2, 1),     5: (2, 2),     6: (2, 1, 0),  
7: (2, 1, 1),  8: (2, 1, 2),  9: (2, 1, 0, 0).

例えば 66frac32\\frac32 進法展開が (2,1,0)(2,1,0) であることは,$2\\cdot \\bigl(\\frac32\\bigr)^2 + 1\\cdot \\frac32 + 0\\cdot 1 = 6$ から分かります.


入力例 3

3 2 9 3 8

出力例 3

3
4
6
9
7
8

入力例 2 の出力のうち 33 番目から 88 番目が答となります.


入力例 4

10 9 1000000000000000000 123456789123456789 123456789123456799

出力例 4

806324968563249278
806324968563249279
725692471706924344
725692471706924345
725692471706924346
725692471706924347
725692471706924348
725692471706924349
653123224536231907
653123224536231908
653123224536231909