#include using namespace std; #include using namespace atcoder; using mint=modint1000000007; using ll=long long; using pp=pair; #define sr string #define vc vector #define fi first #define se second #define rep(i,n) for(int i=0;i<(int)n;i++) #define pb push_back #define all(v) v.begin(),v.end() #define pque priority_queue #define bpc(a) __builtin_popcount(a) int main(){ // r=kx (k+1)x=m int m;cin>>m; vcdp(m+1,-1); auto f=[&](auto f,int rest)->mint{ if(rest==0)return 1; if(dp[rest]!=-1)return dp[rest]; mint res=0; for(int i=1;i*i<=rest;i++)if(rest%i==0){ res+=f(f,rest/i-1); if(i!=rest/i)res+=f(f,i-1); } return dp[rest]=res; }; cout<