#include <bits/stdc++.h>
using namespace std;
using LL = long long;
const int N = 5e5 + 2;
const LL M = 998244353;
LL inv[N], frac[N];
LL powmod(LL x, LL n, LL p) {
  LL r = 1;
  while (n) {
    if (n & 1) r = r * x % p;
    n >>= 1;
    x = x * x % p;
  }
  return r;
}
void init() {
  frac[0] = inv[0] = 1;
  for (int i = 1; i < N; ++i) {
    frac[i] = frac[i - 1] * i % M;
  }
  inv[N - 1] = powmod(frac[N - 1], M - 2, M);
  for (int i = N - 2; i; --i) {
    inv[i] = inv[i + 1] * (i + 1) % M;
  }
}
LL C(int n, int m) {
  if (n < m) return 0;
  if (n == m || m == 0) return 1;
  return frac[n] * inv[m] % M * inv[n - m] % M;
}
int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(NULL);
  int n, k;
  cin >> n >> k;
  init();
  LL ans = 0;
  for (int i = 1; i <= n; ++i) {
    int x = n / i;
    if (x < k) break;
    ans += C(x - 1, k - 1);
  }
  cout << ans % M << endl;
  return 0;
}
