#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 int main(){ long long n; cin>>n; vector ys; for(long long i=1;i*i<=n;i++){ if(n%i==0){ ys.push_back(i); if(i*i!=n)ys.push_back(n/i); } } vector ps; { for(long long i=2;i*i<=n;i++){ if(n%i==0){ ps.push_back(i); while(n%i==0)n /= i; } } if(n!=1)ps.push_back(n); } sort(ys.begin(),ys.end()); vector dp(ys.size()); dp[0] = 1; rep(i,ys.size()){ for(int j=i+1;j