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: '''
      Auther: ghoshashis545 Ashis Ghosh
      College: Jalpaiguri Govt Enggineering College
  
  '''
  from os import path
  from io import BytesIO, IOBase
  import sys
  from heapq import heappush,heappop
  from functools import cmp_to_key as ctk
  from collections import deque,Counter,defaultdict as dd 
  from bisect import bisect,bisect_left,bisect_right,insort,insort_left,insort_right
  from itertools import permutations
  from datetime import datetime
  from math import ceil,sqrt,log,gcd
  def ii():return int(input())
  def si():return input().rstrip()
  def mi():return map(int,input().split())
  def li():return list(mi())
  abc='abcdefghijklmnopqrstuvwxyz'
  mod=1000000007
  #mod=998244353
  inf = float("inf")
  vow=['a','e','i','o','u']
  dx,dy=[-1,1,0,0],[0,0,1,-1]
  
  def bo(i):
      return ord(i)-ord('0')
  
  file = 1
  def ceil(a,b):
      return (a+b-1)//b
  
  
  
  
  def solve():
  
      
      for _ in range(1,ii()+1):
          n,k = mi()
          tot = 0
          p = 1
          for i in range(31):
              if (k>>i)&1:
                  tot += p
                  tot %= mod
              p *= n
              p %= mod
          print(tot)
          
          
  
  
  
  
  
  
  
              
  
  
  
  
  
      
          
  
  
  
  
  
  
  
  
          
  if __name__ =="__main__":
  
      if(file):
      
         if path.exists('input.txt'):
             sys.stdin=open('input.txt', 'r')
             sys.stdout=open('output.txt','w')
         else:
             input=sys.stdin.readline
      solve()
  