import math x, y, mod = map(int,input().split()) ans = 0 for p in range(1, 10 ** 7 + 1): for q in range(0, p): if p ** 2 + q ** 2 > max(x, y): break if p % 2 == q % 2: continue if math.gcd(p, q) != 1: continue a = p ** 2 - q ** 2 b = 2 * p * q c = p ** 2 + q ** 2 k = 1 while True: if x - a * k * 2 <= 0: break if y - b * k * 2 <= 0: break ans += (x - 2 * a * k) * (y - 2 * b * k) % mod * ((a > 0) + 1) % mod * ((b > 0) + 1) % mod ans %= mod k += 1 a = 2 * p * q b = p ** 2 - q ** 2 c = p ** 2 + q ** 2 k = 1 while True: if x - a * k * 2 <= 0: break if y - b * k * 2 <= 0: break ans += (x - 2 * a * k) * (y - 2 * b * k) % mod * ((a > 0) + 1) % mod * ((b > 0) + 1) % mod ans %= mod k += 1 print(ans % mod)