#include <bits/stdc++.h>
using namespace std;
int t, n, k, fac[500005], inv[500005];
inline int read() {
  int ans = 0, f = 1;
  char c = getchar();
  while (c > '9' || c < '0') {
    if (c == '-') f = -1;
    c = getchar();
  }
  while (c >= '0' && c <= '9')
    ans = (ans << 1) + (ans << 3) + (c ^ 48), c = getchar();
  return ans * f;
}
int ksm(int a, int b) {
  int ans = 1;
  while (b) {
    if (b & 1) ans = (long long)ans * a % 998244353;
    a = (long long)a * a % 998244353;
    b >>= 1;
  }
  return ans;
}
inline int C(int n, int m) {
  return n < m
             ? 0
             : (long long)fac[n] * inv[m] % 998244353 * inv[n - m] % 998244353;
}
int main() {
  n = read(), k = read();
  fac[0] = inv[0] = 1;
  for (int i = 1; i <= n; ++i) fac[i] = (long long)fac[i - 1] * i % 998244353;
  inv[n] = ksm(fac[n], 998244353 - 2);
  for (int i = n - 1; i; i--)
    inv[i] = (long long)inv[i + 1] * (i + 1) % 998244353;
  int ans = 0;
  for (int i = 1; i <= n; ++i) ans = (ans + C(n / i - 1, k - 1)) % 998244353;
  printf("%d\n", ans);
}
