# 異常系(階乗全列挙不足) P = 998244353 # 階乗 factorial = [1] for i in range(1, 16 * 10**5 - 1): factorial.append(factorial[-1] * i % P) # 二項係数 def comb(n, r): if n < r: return 0 return factorial[n] * pow(factorial[r], P - 2, P) % P * pow(factorial[n - r], P - 2, P) % P # 素因数の個数 def count_prime(n): count = 0 while n % 2 == 0: n //= 2 count += 1 p = 3 while p**2 <= n: if n % p == 0: n //= p count += 1 else: p += 2 if n > 1: count += 1 return count # solve Q = int(input()) count = 0 for _ in range(Q): A, B = map(int, input().split()) count += count_prime(A) print(comb(count - 1, B - 1))