#include <bits/stdc++.h>
using namespace std;
const int N = 2000 + 10;
const long long int MOD = 1e9 + 7;
vector<int> divv[N];
int n, k;
long long int d[N][N];
int main() {
  cin >> n >> k;
  swap(n, k);
  for (int i = 1; i < N; ++i)
    for (int j = 1; j < i + 1; ++j)
      if (i % j == 0) divv[i].push_back(j);
  for (int i = 1; i < k + 1; ++i) d[1][i] = 1;
  for (int i = 2; i < n + 1; ++i)
    for (int j = 1; j < k + 1; ++j)
      for (int p = 0; p < divv[j].size(); ++p)
        d[i][j] += d[i - 1][divv[j][p]], d[i][j] %= MOD;
  long long int ans = 0;
  for (int i = 1; i < k + 1; ++i) ans += d[n][i], ans %= MOD;
  cout << ans;
}
