#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("-O2")
template <typename T>
void chkmax(T &x, T y) {
  x = max(x, y);
}
template <typename T>
void chkmin(T &x, T y) {
  x = min(x, y);
}
const int LIM = 2e5 + 5, MOD = 1e9 + 7;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, m, ans = 0;
  cin >> n >> m;
  for (int i = 1; i < 1 + min(n, m); i++) {
    for (int j = 1; j < 1 + min(n, m); j++) {
      if ((i * i + j * j) % m == 0) {
        long long a = 1 + (n - i) / m;
        long long b = 1 + (n - j) / m;
        ans += a * b;
      }
    }
  }
  cout << ans;
}
