// #pragma GCC optimize ("Ofast") // #pragma GCC optimize ("unroll-loops") // #pragma GCC target ("avx,avx2,fma") #include using std::cin, std::cout, std::cerr; using ll = long long; const ll P = 1e9 + 7; int main() { std::ios::sync_with_stdio(false); int m; cin >> m; std::vector f(m + 1); f[0] = 1; for(int i = 1; i <= m; i ++) { f[i] = f[i - 1]; for(int d = 1; d * d <= i; d ++) if(i % d == 0) { if(d > 1) f[i] += f[i / d - 1]; if(d != i / d) f[i] += f[d - 1]; } f[i] %= P; // cout << i << ' ' << f[i] << '\n'; } cout << f[m] << '\n'; }