output_description: Print the maximum possible amount of the allowance.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      A B C
attempt: import collections, math, sys
  
  
  def LI():
      return list(map(int, sys.stdin.readline().rstrip().split()))
  
  
  N, M = LI()
  ans = 1
  
  
  def prime_factor(num):
      prime_factor = collections.defaultdict(int)
      for i in range(2, int(num**0.5) + 1):
          while num % i == 0:
              prime_factor[i] += 1
              num //= i
      if num > 1:
          prime_factor[num] = 1
      return prime_factor
  
  
  for v in prime_factor(M).values():
      ans *= math.factorial(v + N - 1) // math.factorial(v) // math.factorial(N - 1)
      ans %= 10**9 + 7
  print(ans)
  
problem_description: Statement
  
  You have decided to give an allowance to your child depending on the outcome
  of the game that he will play now.
  
  The game is played as follows:
  
    * There are three "integer panels", each with a digit between 1 and 9 (inclusive) printed on it, and one "operator panel" with a `+` printed on it.
    * The player should construct a formula of the form X + Y, by arranging the four panels from left to right. (The operator panel should not be placed at either end of the formula.)
    * Then, the amount of the allowance will be equal to the resulting value of the formula.
  
  Given the values A, B and C printed on the integer panels used in the game,
  find the maximum possible amount of the allowance.
samples: [{"input": "1 5 2", "output": "53\n    \n\nThe amount of the allowance will be 53 when the panels are arranged as `52+1`,\nand this is the maximum possible amount.\n\n* * *"}, {"input": "9 9 9", "output": "108\n    \n\n* * *"}, {"input": "6 6 7", "output": "82"}]