만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

외계인 다항식 사나이

시간 제한4초메모리 제한512 MB

요약
S에서 고른 순서쌍 (a, b) 중 a와 b로 계산한 유리식의 값이 법 p에서 V에 속하는 쌍의 개수를 구합니다. 분모가 0인 쌍은 제외합니다.
난이도

보통10점 중 7점

유형
수학, 정수론, 해시맵
정답자
아직 제출이 없습니다

문제

이것이 프로그래밍 대회일까? 소수 pp와 00부터 p−1p-1까지의 잉여류로 이루어진 두 집합 SS, VV가 주어진다. 다음 세 조건을 모두 만족하는 순서쌍 (a,b)(a, b)의 개수를 구하라. 첫째, (∏z∈V((2a+3b)2+5a2(3a+b)2+(2a+5b)2+3b2(3a+2b)2−z))≡0\left(\prod_{z \in V}\left(\frac{(2a+3b)^2 + 5a^2}{(3a+b)^2} + \frac{(2a+5b)^2 + 3b^2}{(3a+2b)^2} - z\right)\right) \equiv 0이다. 둘째, a∈Sa \in S이다. 셋째, b∈Sb \in S이다. 모든 연산은 pp를 법으로 한다. a≠ba \ne b일 때 (a,b)(a, b)와 (b,a)(b, a)는 서로 다른 쌍으로 센다. 0으로 나누는 것은 허용되지 않는다. 두 분모 중 하나라도 0이 되면 해당 합동식은 거짓으로 본다.

입력

첫째 줄에 소수 pp(2≤p≤1062 \le p \le 10^6)가 주어진다. 둘째 줄에 SS의 크기 nn(0≤n≤p0 \le n \le p)이 주어진다. 셋째 줄에는 SS의 서로 다른 원소 S1,S2,…,SnS_1, S_2, \dots, S_n(0≤Si≤p−10 \le S_i \le p-1)이 주어진다. 넷째 줄에 VV의 크기 mm(0≤m≤p0 \le m \le p)이 주어진다. 다섯째 줄에는 VV의 서로 다른 원소 V1,V2,…,VmV_1, V_2, \dots, V_m(0≤Vi≤p−10 \le V_i \le p-1)이 주어진다.

출력

조건을 만족하는 순서쌍의 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    7
    4
    0 4 5 6
    2
    2 3
    
    예상 출력
    8
    
  2. 예제 2

    입력
    19
    10
    0 3 4 5 8 9 13 14 15 18
    10
    2 3 5 9 10 11 12 13 14 15
    
    예상 출력
    42