#1218. 千秋质数

千秋质数

题目描述

千秋不喜欢现有的质数定义。

现有的质数定义: 如果一个整数 x2x \ge 2,有且只有 11xx 两个因数,那么 xx 为质数,否则 xx 为合数。

千秋认为这样的质数定义过于严苛,大幅减少了质数的数量。千秋认为,如果 xx 满足下面条件中的任意一条,就应该被认为是千秋质数

  • xx 符合现有质数的定义;
  • xx 的互不相同的质因数 p1,p2,,pkp_1, p_2, \dots, p_k 中,至少存在 ww 个质因数 pip_i,满足 pip_i 中至少有一个数位(例如个位、十位或百位等)的数字为 zz

例如,当 w=2,z=2w=2, z=2 时,数字 4646 的质因数有 222323,这两个质因数都包含数字 22,因此 4646 符合千秋质数的定义。

千秋共有 QQ 个询问。他想知道在确定的 w,zw, z 之下,闭区间 [L,R][L, R] 范围内共有多少个千秋质数

输入格式

第一行包含三个整数 w,z,Qw, z, Q —— 分别表示定义的阈值、指定的数位数字以及询问的次数。

接下来 QQ 行,每行包含两个正整数 L,RL, R —— 表示一组询问的区间范围。

输出格式

输出共 QQ 行,每行包含一个非负整数,表示对应询问的答案。

样例输入 1

2 2 3
1 10
46 46
20 50

样例输出 1

4
1
8

样例输入 2

1 0 3
1 100
100 202
202 202

样例输出 2

25
22
1

样例输入 3

3 3 3
1 40
30 300
333 1000

样例输出 3

12
52
102

说明

数据范围

RmaxR_{\max} 为所有询问中出现的最大的 RR 值。

  • 对于 30%30\% 的测试点,保证 1Q101 \le Q \le 101LR1031 \le L \le R \le 10^3
  • 对于另外 30%30\% 的测试点,保证 Q=1Q = 1
  • 对于 100%100\% 的测试点,保证 1Q1061 \le Q \le 10^61LR5×1061 \le L \le R \le 5 \times 10^6
  • 对于 100%100\% 的测试点,保证 1wRmax1 \le w \le R_{\max}0z90 \le z \le 9
  • 保证所有的输入数值均为整数。