#include <bits/stdc++.h>
const long long N = 1e6 + 10;
const long long mod = 998244353;
const long long inf = 0x3f3f3f3f;
using namespace std;
long long a[N] = {0};
void prime(long long n, long long k) {
  long long i, j;
  a[1] = n - 1;
  for (i = 2; i * k <= n; i++) a[i] = n / i - 1;
}
long long qpow(long long a, long long b) {
  long long ans = 1;
  while (b) {
    if (b & 1) ans = (ans * a) % mod;
    a = a * a % mod;
    b >>= 1;
  }
  return ans;
}
long long f(long long x, long long k) {
  long long i, sum = 1;
  for (i = a[x]; i > a[x] - k; i--) sum = (sum * i) % mod;
  for (i = 2; i <= k; i++) sum = sum * qpow(i, mod - 2) % mod;
  return sum;
}
signed main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, k, ans = 0;
  cin >> n >> k;
  if (n < k)
    cout << 0 << endl;
  else if (k == 1)
    cout << n << endl;
  else {
    prime(n, k);
    long long i;
    for (i = 1; i * k <= n; i++) ans = (ans + f(i, k - 1)) % mod;
    cout << ans << endl;
  }
  return 0;
}
