#include "bits/stdc++.h"
using namespace std;
long long mod=1e9+7;

long long modpow(long long a,long long p){
    if(p==0)return 1;
    if(p%2==0){
      long long halfP=p/2;
      long long half=modpow(a,halfP);
      return half*half%mod;
    }else{
      return a*modpow(a,p-1)%mod;
    }
}

long long comb(int a,int b){
  if(b>a-b)return comb(a,a-b);
  long long ansMul=1;
  long long ansDiv=1;
  for(int i=0;i<b;i++){
    ansMul*=(a-i);
    ansDiv*=(i+1);
    ansMul%=mod;
    ansDiv%=mod;
  }
  long long ans=ansMul*modpow(ansDiv,mod-2)%mod;
  return ans;
}

int main(){
  long long n,m;
  cin>>n>>m;
  long long ans=1;
  for(int i=2;i<m&&i<1e5;i++){
    long long cnt=0;
    while(m%i==0){
      cnt++;
      m/=i;
    }
    ans*=comb(n+cnt-1,n-1);
    ans%=mod;
  }
  if(m!=1){
    ans*=comb(n,n-1);
    ans%=mod;
  }
  cout<<ans<<endl;
}
