#P9002. [RC-07] 心跳

[RC-07] 心跳

题目描述

对正整数 xx,设 f(x,B)f(x,B) 表示 xx 在 BB 进制下的数位和。说一个正整数 pp 是 BB-好的,当且仅当对于任意正整数 q<pq<p 都有 f(p,B)≥f(q,B)f(p,B)\ge f(q,B)。

给定正整数 nn 和 BB,计算有多少个 ≤n\le n 的正整数是 BB-好的。

输入格式

本题单个测试点内有多组数据。

第一行是数据组数 TT。

接下来 TT 行,每行两个正整数 n,Bn,B。

输出格式

输出 TT 行,每行一个非负整数,为答案。

6
4 2
9 3
1000 2
1000 20
28238934 154154154154154
23389348458425 5
3
6
49
60
28238934
760

提示

样例解释

这里只解释第二组询问的输出。三进制下,1,2,3,4,5,6,7,8,91,2,3,4,5,6,7,8,9 的数位和分别为 1,2,1,2,3,2,3,4,11,2,1,2,3,2,3,4,1,据此容易看出只有 1,2,4,5,7,81,2,4,5,7,8 是 33-好的,所以输出 66。

数据范围

所有数据均满足:1≤T≤1051\le T\le 10^5,1≤n≤10181\le n\le 10^{18},2≤B≤10182\le B\le 10^{18}。

  • 子任务 11(5050 分):T≤104T\le 10^4,n,B≤100n,B\le 100。
  • 子任务 22(3030 分):B=2B=2。
  • 子任务 33(2020 分):无特殊限制。