#include <bits/stdc++.h>
using namespace std;
int n, k;
long dp[2010][2010];
vector<long> v[2010];
long dequy(int vt, int val) {
  long i, sz;
  if (dp[vt][val] != -1) return dp[vt][val];
  if (vt > k) return 1;
  dp[vt][val] = 0;
  sz = v[val].size();
  for (i = 0; i < sz; i++)
    dp[vt][val] =
        (dp[vt][val] + dequy(vt + 1, v[val][i]) % 1000000007ll) % 1000000007ll;
  return dp[vt][val];
}
void solve() {
  int i, j;
  for (i = 1; i <= n; i++) {
    v[i].clear();
    for (j = i; j <= n; j++)
      if (j % i == 0) v[i].push_back(j);
  }
  memset(dp, -1, sizeof(dp));
  cout << dequy(1, 1) << endl;
}
void input() {
  scanf("%d %d", &n, &k);
  solve();
}
int main() {
  input();
  fclose(stdin);
  fclose(stdout);
  return 0;
}
