package main import "fmt" func pow(b, n int) int { //fmt.Printf("pow(%d,%d) en:\n", b, n) r := 1 for i := 0; i < n; i++ { r *= b } // fmt.Printf("pow(%d,%d) ex: %d\n", b, n, r) return r } func main() { var Q int fmt.Scan(&Q) ans := make([]int, 0) for i := 0; i < Q; i++ { var N, K int fmt.Scan(&N, &K) var k int if K == 1 { k = N - 1 } else { for { t := pow(K, k) if N-1 <= t { break } k++ } } ans = append(ans, k) } // fmt.Println("ans:", ans) for i := 0; i < len(ans); i++ { fmt.Println(ans[i]) } }