#include #include #include using namespace atcoder; using mint = modint998244353; using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 1000000000000000001 int main(){ long long n; cin>>n; vector y; for(long long i=1;i<=n;i++){ if(n%i==0)y.push_back(i); } vector c(y.size()); for(long long i=1;i<=n;i++){ int g =gcd(i,n); c[lower_bound(y.begin(),y.end(),g)-y.begin()]++; } vector dp(y.size(),0); for(int i=1;i