만드는 중입니다

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

뫼비우스 함수

시간 제한2초메모리 제한1024 MB

요약
배열 a와 b가 주어질 때, 모든 쌍 (a_i, b_j)의 곱에 대한 뫼비우스 함수 값이 -1, 0, 1인 쌍의 개수를 각각 구합니다.
난이도

보통10점 중 6점

유형
정수론, 수학, 조합론
정답자
아직 제출이 없습니다

문제

양의 정수 nn에 대해 뫼비우스 함수 μ(n)\mu(n)을 정의한다. 이 함수의 값은 nn의 소인수분해에 따라 {−1,0,1}\{-1, 0, 1\} 중 하나이다.

  • xx가 제곱인수를 갖지 않는 양의 정수이고 소인수의 개수가 짝수이면 μ(x)=1\mu(x) = 1이다.
  • xx가 제곱인수를 갖지 않는 양의 정수이고 소인수의 개수가 홀수이면 μ(x)=−1\mu(x) = -1이다.
  • xx가 어떤 소수의 제곱으로 나누어떨어지면 μ(x)=0\mu(x) = 0이다.

예를 들어 μ(1)=1\mu(1) = 1, μ(2)=−1\mu(2) = -1, μ(6)=1\mu(6) = 1, μ(12)=0\mu(12) = 0이다.

양의 정수로 이루어진 두 배열 aa와 bb가 주어진다.

kyk_y는 1≤i≤n1 \le i \le n, 1≤j≤m1 \le j \le m을 만족하는 쌍 (i,j)(i, j) 중 μ(ai⋅bj)=y\mu(a_i \cdot b_j) = y인 쌍의 개수이다.

k−1k_{-1}, k0k_{0}, k1k_{1}을 구한다.

입력

첫째 줄에 배열 aa와 bb의 크기 nn과 mm (1≤n,m≤2⋅1051 \le n, m \le 2 \cdot 10^5)이 주어진다.

둘째 줄에 공백으로 구분된 정수 aia_i (1≤ai≤1061 \le a_i \le 10^6) nn개가 주어진다.

셋째 줄에 공백으로 구분된 정수 bib_i (1≤bi≤1061 \le b_i \le 10^6) mm개가 주어진다.

출력

공백으로 구분된 세 정수 k−1k_{-1}, k0k_{0}, k1k_{1}을 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    6 4
    1 2 3 4 5 6
    2 3 5 7
    
    예상 출력
    6 9 9