#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvv vector #define vvi vector > #define vvl vector > #define vv(a, b, c, d) vector >(a, vector(b, c)) #define vvvl(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define rep(c, a, b) for(ll c=a;c0){ if(b%2) ret *= num; num = num * num; b /= 2; } }else{ while(b>0){ if(b%2) ret = (ret*num)%p; num = (num*num)%p; b /= 2; } } return ret; } int main(int argc, char const *argv[]) { ll q;std::cin >> q; re(Q, q){ ll n, k;std::cin >> n >> k; if(k==1) std::cout << n-1 << '\n'; else{ ll z = 1; while(true){ ll tmp = mpow(k, z); tmp--;tmp/=k-1; if(tmp>=n) { std::cout << z - 1 << '\n'; break; } z++; } } } return 0; }