func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, k, dp[2000 + 10][2000 + 10];   bool v[2000 + 10][2000 + 10];   vector<int> vec[2000 + 10];   int solve(int curr, int kk) {     if (kk > k) return 0;     if (kk == k) return 1;     if (v[curr][kk]) return dp[curr][kk];     for (int i = 0; i < vec[curr].size(); i++) {       dp[curr][kk] += (solve(vec[curr][i], kk + 1)) % 1000000007;       dp[curr][kk] %= 1000000007;     }     v[curr][kk] = true;     return dp[curr][kk];   }   int main() {     ios::sync_with_stdio(false), cin.tie(0);     cin >> n >> k;     for (int i = 1; i <= n; i++) {       for (int j = i; j <= n; j += i) {         if (!(j % i)) vec[i].push_back(j);       }     }     cout << solve(1, 0) <<   n ;     return 0;   }   