#include using namespace std; const int mod=998244353; long long n; int main(){ scanf("%lld",&n); vectorw; for (long long i=1;1ll*i*i<=n;i++) if (n%i==0){ w.push_back(i); if (1ll*i*i!=n) w.push_back(n/i); } vectorq; for (int i=2;1ll*i*i<=n;i++) if (n%i==0){ q.push_back(i); while (n%i==0){ n/=i; } } if (n>1){ q.push_back(n); } sort(w.begin(),w.end()); vector>s((int)w.size(),vector((int)q.size(),0)); for (int i=0;idp((int)w.size(),0); dp[0]=1; for (int i=1;i