#include <bits/stdc++.h>
using namespace std;
const int MOD = int(1e9) + 7;
int DP[2001][2001];
vector<int> Div[2001];
int main() {
  for (int i = 2; i <= 2000; i++) {
    for (int j = 1; j * j <= i; j++)
      if (i % j == 0) {
        Div[i].push_back(j);
        if (j != i / j) Div[i].push_back(i / j);
      }
  }
  int n, k;
  scanf("%d", &n);
  scanf("%d", &k);
  for (int i = 1; i <= n; i++) DP[i][1] = 1;
  for (int j = 2; j <= k; j++) {
    DP[1][j] = 1;
    for (int i = 2; i <= n; i++)
      for (int k = 0; k < (int)(Div[i].size()); k++)
        DP[i][j] = (DP[i][j] + DP[Div[i][k]][j - 1]) % MOD;
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) ans = (ans + DP[i][k]) % MOD;
  printf("%d\n", ans);
  return 0;
}
