description: 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...]
solution: 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)
  