```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
const mod = 1000000007
for i := 0; i < t; i++ {
var n, k int64
fmt.Fscan(reader, &n, &k)
var ans int64 = 0
var power int64 = 1
for k > 0 {
if k&1 == 1 {
ans = (ans + power) % mod
}
power = (power * n) % mod
k >>= 1
}
fmt.Fprintln(writer, ans)
}
}
```