#include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<ctime>
#include<string>
#include<algorithm>
#include<vector>
#include<queue>
#include<stack>
#include<map>
using namespace std;
typedef long long LL;
const int MR=1e6+10;
const int MOD=1e9+7;
int x[MR];
int main(){
    int M;
    cin>>M;
    x[0]=1;
    /*
    for(int k=1;k<=M;k++){
        for(int i=1;i*i<=k;i++){
            if(k%i!=0) continue;
            x[k]+=x[k/i-1];
            x[k]%=MOD;
            if(i*i<k) x[k]+=x[i-1];
            x[k]%=MOD;
        }
    }
    */
    for(int i=1;i<=M;i++){
        for(int k=i;k<=M;k+=i){
            x[k]+=x[i-1];
            x[k]%=MOD;
        }
    }
    cout<<x[M]<<endl;
    return 0;
}