#include <iostream> #include <vector> #include <cmath> #include <map> #include <set> #include <iomanip> #include <queue> #include <algorithm> #include <numeric> #include <deque> #include <complex> #include <cassert> using namespace std; using ll = long long; vector<ll> ans(1e5+1, -1); const ll modc = 1e9+7; ll f(ll X){ if (X == 1) return 1; if (ans[X] != -1) return ans[X]; ll res=1; for (ll i = 1; i*i <= X; i++){ if (X % i == 0){ res += f(X/i-1); if (i != 1 && i*i != X) res += f(i-1); res %= modc; } } return ans[X] = res; } int main(){ ll M; cin >> M; cout << f(M) << endl; return 0; }