#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int INF = 0x3f3f3f3f;
const long long LL_INF = 0x3f3f3f3f3f3f3f3f;
const double PI = acos(-1);
const double EPS = 1e-10;
const int N = 2010;
int n, k;
vector<int> divisors[N];
long long dp[N][N];
long long getDp(int i, int j) {
  long long &res = dp[i][j];
  if (res != -1) {
    return res;
  }
  if (j == 1) {
    return res = 1;
  }
  res = 0;
  for (int t : divisors[i]) {
    res = (res + getDp(t, j - 1)) % MOD;
  }
  return res;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cin >> n >> k;
  for (int i = 1; i <= n; ++i) {
    for (int j = 1; j <= (int)floor(sqrt(i)); ++j) {
      if (i % j == 0) {
        divisors[i].push_back(j);
        if (j != i / j) {
          divisors[i].push_back(i / j);
        }
      }
    }
  }
  memset(dp, -1, sizeof(dp));
  long long res = 0;
  for (int i = 1; i <= n; ++i) {
    res = (res + getDp(i, k)) % MOD;
  }
  cout << res;
}
