#arc149f. [arc149_f]Rational Number System

[arc149_f]Rational Number System

问题陈述

r>1r > 1 为一个有理数,ppqq 分别为 rr 的分子和分母。也就是说,ppqq 是满足 r=pqr = \frac{p}{q}gcd(p,q)=1\gcd(p,q) = 1 的正整数。

将正整数 nn基数为 rr 的展开 定义为满足以下所有条件的整数序列 (a1,,ak)(a_1, \ldots, a_k)

  • aia_i 是介于 00p1p-1 之间的整数。
  • a10a_1 \neq 0
  • n=i=1kairkin = \sum_{i=1}^k a_ir^{k-i}

可以证明任何正整数 nn 都有唯一的基数为 rr 的展开。


给定正整数 ppqqNNLLRR。其中,ppqq 满足 1.01pq1.01 \leq \frac{p}{q}

考虑按照它们的基数为 pq\frac{p}{q} 的展开以字典顺序升序排列所有不大于 NN 的正整数。找出这个列表中的第 LL 个、第 (L+1)(L+1) 个、\ldots、第 RR 个正整数。

按照惯例,输入和输出正整数采用十进制表示。

什么是序列的字典顺序?

一个序列 A=(A1,,AA)A = (A_1, \ldots, A_{|A|}) 满足以下条件时,被称为字典上更小于序列 B=(B1,,BB)B = (B_1, \ldots, B_{|B|})。这里,A|A|B|B| 分别表示 AABB 的长度。

  1. A<B|A|<|B|(A1,,AA)=(B1,,BA)(A_{1},\ldots,A_{|A|}) = (B_1,\ldots,B_{|A|})
  2. 存在整数 1imin{A,B}1\leq i\leq \min\{|A|,|B|\} 使得以下两个条件都满足。
    • (A1,,Ai1)=(B1,,Bi1)(A_{1},\ldots,A_{i-1}) = (B_1,\ldots,B_{i-1})
    • Ai<BiA_i < B_i

约束条件

  • 1p,q1091\leq p, q \leq 10^9
  • gcd(p,q)=1\gcd(p,q) = 1
  • 1.01pq1.01 \leq \frac{p}{q}
  • 1N10181\leq N\leq 10^{18}
  • 1LRN1\leq L\leq R\leq N
  • RL+13×105R - L + 1\leq 3\times 10^5

输入

输入数据从标准输入读入,格式如下:

pp qq NN LL RR

输出

输出 RL+1R-L+1 行。第 ii 行应该包含所有正整数列表中第 (L+i1)(L + i - 1) 个正整数,按照它们的基数为 pq\frac{p}{q} 的展开以字典顺序升序排列。

使用十进制表示打印正整数。


示例输入 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 的基数为 32\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).

例如,可以从 $2\cdot \left(\frac32\right)^2 + 1\cdot \frac32 + 0\cdot 1 = 6$ 看出正整数 66 的基数为 32\frac32 的展开是 (2,1,0)(2,1,0)


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