#include <bits/stdc++.h>
#pragma pack(1)
#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
long long n, m, k, tot, ans, midt;
long long MOD = 998244353;
long long fact[2000000 + 5];
long long a[2000000 + 10];
long long pow(long long x) {
  long long n = MOD - 2;
  long long res = 1;
  while (n > 0) {
    if (n % 2 == 1) res = res * x % MOD;
    x = x * x % MOD;
    n >>= 1;
  }
  return res;
}
void init() {
  a[0] = a[1] = 1;
  fact[0] = fact[1] = 1;
  for (int i = 2; i <= 1000005; i++) {
    fact[i] = fact[i - 1] * i % MOD;
    a[i] = a[i - 1] * pow(i) % MOD;
  }
}
long long C(int n, int m) {
  if (n < 0 || m < 0 || n < m) return 0;
  return fact[n] * a[n - m] % MOD * a[m] % MOD;
}
void solve() {
  init();
  cin >> n >> k;
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    ans = (ans + C(n / i - 1, k - 1)) % MOD;
  }
  cout << ans << endl;
}
int main() {
  solve();
  return 0;
}
