1 /*描述
 2 给定两个数n,m,其中m是一个素数。
 3 
 4 将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。
 5 
 6 注:^为求幂符号。
 7 
 8  
 9 
10 输入
11 第一行是一个整数s(0<s<=100),表示测试数据的组数
12 随后的s行, 每行有两个整数n,m。 
13 输出
14 输出m的个数
15 样例输入
16 3
17 100 5
18 16 2
19 1000000000  13
20 样例输出
21 24
22 15
23 83333329
24 */
25 #include<stdio.h>
26 int main() 
27 {
28     int s;
29     scanf("%d",&s);
30     while(s--)
31     {
32         int n, m, t , i, sum=0;
33         scanf("%d%d",&n,&m);
34         t = m;
35         while(1)
36         {
37             sum=sum+n/m;
38             m *= t;
39             if(n/m == 0)
40             break;
41         }
42         printf("%d\n",sum);
43     }
44     return 0;
45 }