import sys def I(): return int(sys.stdin.readline().rstrip()) N = I() M = int(N**.5) mod = 10**9+7 # Nのi進表記の桁和の総和 ans = 0 for i in range(2,M+1): a = N while a: ans += a % i a -= a % i a //= i ans %= mod # N == q*i+r for q in range(1,M+1): low,high = max(N//(q+1),M),N//q # low < i <= high ans += (N+q)*(high-low)-q*(high*(high+1)//2-low*(low+1)//2) ans %= mod print(ans)