human
Theofanis really likes sequences of positive integers, thus his teacher (Yeltsa Kcir) gave him a problem about a sequence that consists of only special numbers.

Let's call a positive number special if it can be written as a sum of different non-negative powers of n. For example, for n = 4 number 17 is special, because it can be written as 4^0 + 4^2 = 1 + 16 = 17, but 9 is not.

Theofanis asks you to help him find the k-th special number if they are sorted in increasing order. Since this number may be too large, output it modulo 10^9+7.

Input

The first line contains a single integer t (1 ≤ t ≤ 10^4) — the number of test cases.

The first and only line of each test case contains two integers n and k (2 ≤ n ≤ 10^9.
1 ≤ k ≤ 10^9).

Output

For each test case, print one integer — the k-th special number in increasing order modulo 10^9+7.

Example

Input

3
3 4
2 12
105 564

Output

9
12
3595374

Note

For n = 3 the sequence is [1,3,4,9...]
assistant
#Here is Python code to find the k-th special number if they are sorted in increasing order.

import sys
import io, os
sys.setrecursionlimit(10**5)
input = sys.stdin.buffer.readline
#input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
mod = 10**9+7

t = int(input())
for _ in range(t):
    n,k= map(int, input().split())
    if k == 1:
        print(1)
        continue
    table = [0]*32
    table[0] = 1
    for i in range(1, 32):
        table[i] = table[i-1]*n
        table[i] %= mod

    def calc(x):
        m = 1
        while 2**m-1 < x:
            m += 1
        r = x-(2**(m-1)-1)-1
        #print(m, r)
        if r == 0:
            res = table[m-1]
        else:
            res = table[m-1]+calc(r)
        return res
    ans = calc(k)
    print(ans%mod)