예금
시간 제한3초메모리 제한256 MB
예금 금액이 요청 기간으로 나누어지는 (예금, 요청) 쌍의 개수를 세는 문제이며, 최대 10^6까지 빈도수와 약수 열거로 계산합니다.
문제
금융 위기 상황에서 여러 중앙은행은 유동성을 공급하고 신용 시장을 지원하기 위해 투자은행과 저축은행 계좌에 많은 현금을 예치했다.
플랫랜드(Flatland)의 중앙은행은 시장에 개의 예금을 내놓으려고 한다. 각 예금은 금액 로 표현된다.
은행들은 시장에 예금 요청을 보낸다. 현재 요청은 개가 있으며, 각 요청은 기간 (일 단위)로 표현된다.
시장 규정에 따르면 모든 예금은 매일 같은 정수 금액으로 상환되어야 한다. 따라서 금액이 인 예금과 기간이 인 요청은 가 로 나누어떨어질 때에만 서로 매칭된다.
예금과 요청 정보가 주어질 때, 서로 매칭되는 (예금, 요청) 쌍의 개수를 구하여라.
입력
첫째 줄에 예금의 개수 이 주어진다 ().
둘째 줄에 개의 정수 이 주어진다 ().
셋째 줄에 요청의 개수 이 주어진다 ().
넷째 줄에 개의 정수 이 주어진다 ().
출력
매칭되는 쌍의 개수를 정수 하나로 출력한다.
힌트
각 요청은 개별적으로 센다. 따라서 같은 기간이 여러 번 요청되면 한 예금이 그 기간과 여러 번 매칭될 수 있다.
예금이 이고 요청 기간이 인 경우, 매칭되는 (예금, 기간) 쌍은 두 번, , 두 번, , 두 번, 두 번, , 으로 모두 개이다.