Rikka와 방정식
시간 제한2초메모리 제한512 MB
n이 주어지면 m이 n 이하인 (a, b, m) 중 정수 x, y가 x^2 + y^2 ≡ a, xy ≡ b (mod m)을 만족하는 튜플의 개수를 998244353으로 나눈 나머지로 구합니다.
문제
힐베르트의 열 번째 문제의 결론에 따르면, 임의의 연립 방정식의 정수해를 모두 찾는 알고리즘은 만들 수 없다. 하지만 몇몇 간단한 방정식은 여전히 쉽게 풀 수 있다.
예를 들어, 정수 , 가 와 를 동시에 만족하는 경우가 있는지 어떻게 확인할까? 와 를 계산한 뒤, 와 가 모두 정수가 될 수 있는지 확인하면 된다.
Rikka는 이 문제가 너무 단순하다고 생각해서 더 어렵게 만들고 싶어 한다. Rikka는 등식을 으로 나눈 나머지로 보면 문제가 달라질 때가 있다는 것을 안다. 그래서 이 문제에도 같은 방법을 적용하려 한다.
인 튜플 은, 이고 을 만족하는 정수 , 가 존재하는 경우에만 유효하다고 한다. 양의 정수 이 주어지면, 인 유효한 튜플 의 개수를 구하라. 개수가 매우 클 수 있으므로 으로 나눈 나머지를 출력한다.
입력
첫째 줄에 테스트 케이스의 개수 ()가 주어진다. 각 테스트 케이스는 한 줄에 정수 () 하나로 주어진다.
출력
각 테스트 케이스마다 유효한 튜플의 개수를 으로 나눈 나머지를 한 줄에 출력한다.