#include <bits/stdc++.h>
using namespace std;
long long min(long long x, long long y) { return (x < y) ? x : y; }
long long max(long long x, long long y) { return (x > y) ? x : y; }
const int N = 100009;
const int MOD = 1000000007;
long long x, y, n, m, e, i, u, w, mx, z, sum, l, r, best, cnt, g, j, k, t, ans;
long long a[N], dp[2009][2009];
string s;
int main() {
  cin >> k >> n;
  for (i = 1; i <= k; i++) dp[1][i] = 1;
  for (i = 1; i <= n; i++) {
    for (j = 1; j <= k; j++) {
      e = j;
      while (e <= k) {
        dp[i + 1][e] += dp[i][j];
        dp[i + 1][e] %= MOD;
        e += j;
      }
    }
  }
  for (i = 1; i <= k; i++) ans = (ans + dp[n][i]);
  ans %= MOD;
  cout << ans;
  return 0;
}
