#include <bits/stdc++.h>
using namespace std;
const int N = 5e6 + 10;
void add(int &a, long long b);
int n, mod, dp[N], sum[N];
int main() {
  scanf("%d%d", &n, &mod);
  sum[n] = dp[n] = 1;
  for (int i = n - 1; i >= 1; i--) {
    sum[i] = dp[i] = sum[i + 1];
    for (int j = i + i, t = 2; j <= n; j += i, t++)
      add(dp[i], sum[j] - sum[j + t < n + 1 ? j + t : n + 1]);
    add(sum[i], dp[i]);
  }
  cout << dp[1] << endl;
  return 0;
}
void add(int &a, long long b) {
  a = ((a + b) % mod + mod) % mod;
  return;
}
