#include using namespace std; using pii = pair; using ll = long long; const int N = 2000010, MOD = 1e9 + 7, INF = 0x3f3f3f3f; int n, m, w[N]; ll qmi(ll a, ll b, ll c) { ll res = 1; while (b) { if (b & 1) res = res * a % c; a = a * a % c; b >>= 1; } return res; } int c[N]; void solve() { ll n, b; scanf("%lld%lld", &n, &b); for (int i = 0; i < b; i++) c[qmi(i, n, b)]++; ll res = 0; for (int i = 0; i < b; i++) for (int j = 0; j < b; j++) { int k = i + j >= b ? i + j - b : i + j; res += (ll)c[i] * c[j] * c[k]; } printf("%lld\n", res); } int main() { int T = 1; // scanf("%d", &T); while (T--) solve(); return 0; }