output_description: Print the number of the sequences consisting of positive integers that satisfy
  the condition, modulo 10^9 + 7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
attempt: import math
  
  n, m = map(int, input().split())
  
  dict1 = {}
  
  
  def yakusuu(m):
      if int(m) != 1:
          """
          if m % 2 == 0:
              if 2 not in dict1.keys():
                  dict1[2] = 0
              dict1[2] += 1
              yakusuu(m/2)
          elif m % 3 == 0:
              if 3 not in dict1.keys():
                  dict1[3] = 0
              dict1[3] += 1
              yakusuu(m/3)
          elif m % 5 == 0:
              if 5 not in dict1.keys():
                  dict1[5] = 0
              dict1[5] += 1
              yakusuu(m/5)
          else:
          """
          flag = True
          for i in range(2, int(math.sqrt(m) + 1)):
              if m % i == 0:
                  if i not in dict1.keys():
                      dict1[i] = 0
                  dict1[i] += 1
                  yakusuu(m / i)
                  flag = False
                  break
          if flag == True:
              m = int(m)
              if m not in dict1.keys():
                  dict1[m] = 0
              dict1[m] += 1
  
  
  yakusuu(m)
  print(dict1)
  
  count = 1
  
  for i in dict1.values():
      print(i)
      a = int(math.factorial(n + i - 1) / (math.factorial(n - 1) * math.factorial(i)))
      count *= a
      print(a)
  
  print(count % (10**9 + 7))
  
problem_description: Statement
  
  You are given positive integers N and M.
  
  How many sequences a of length N consisting of positive integers satisfy a_1
  \times a_2 \times ... \times a_N = M? Find the count modulo 10^9+7.
  
  Here, two sequences a' and a'' are considered different when there exists some
  i such that a_i' \neq a_i''.
samples: [{"input": "2 6", "output": "4\n    \n\nFour sequences satisfy the condition: \\\\{a_1, a_2\\\\} = \\\\{1, 6\\\\}, \\\\{2, 3\\\\},\n\\\\{3, 2\\\\} and \\\\{6, 1\\\\}.\n\n* * *"}, {"input": "3 12", "output": "18\n    \n\n* * *"}, {"input": "100000 1000000000", "output": "957870001"}]