#include <bits/stdc++.h>
using namespace std;
const long long maxn = 2000 + 100;
const long long mode = 1000000000 + 7;
long long dp[maxn][maxn];
bool mark[maxn][maxn];
vector<long long> v[maxn];
long long calc(long long n, long long k) {
  if (k == 1) return 1;
  if (mark[n][k]) return dp[n][k];
  long long ret = 0;
  for (long long i = 0; i < v[n].size(); i++) {
    ret += calc(v[n][i], k - 1);
    if (ret > mode) ret %= mode;
  }
  dp[n][k] = ret;
  mark[n][k] = true;
  return ret;
}
int main() {
  ios_base::sync_with_stdio(false);
  long long n, k;
  for (long long i = 1; i <= 2000; i++)
    for (long long j = 1; j * j <= i; j++) {
      if (i % j != 0) continue;
      v[i].push_back(j);
      if (i / j != j) v[i].push_back(i / j);
    }
  cin >> n >> k;
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    ans += calc(i, k);
    if (ans > mode) ans %= mode;
  }
  cout << ans;
}
