require 'prime' class Integer def divisor_list return [] if self <= 0 return [1] if self == 1 prime_division.map.with_index { |(base, k), i| s = i.zero? ? 0 : 1 (s..k).map { |n| base ** n } }.inject { |res, e| res + res.flat_map { |t| e.map { |v| t * v } } } end end M = gets.to_i MOD = 10 ** 9 + 7 dp = Array.new(M + 1, 0) dp[0] = 1 dp[1] = 1 2.upto(M) do |i| if i.prime? dp[i] += dp[i - 1] dp[i] %= MOD dp[i] += dp[0] dp[i] %= MOD else i.divisor_list.each do |j| dp[i] += dp[i / j - 1] dp[i] %= MOD end end end puts dp[M]