시간 제한
메모리 제한
시간 제한
3초
메모리 제한
256 MB
금융 위기 상황에서 여러 중앙은행은 유동성을 공급하고 신용 시장을 지원하기 위해 투자은행과 저축은행 계좌에 많은 현금을 예치했다.
플랫랜드(Flatland)의 중앙은행은 시장에 n개의 예금을 내놓으려고 한다. 각 예금은 금액 ai로 표현된다.
은행들은 시장에 예금 요청을 보낸다. 현재 요청은 m개가 있으며, 각 요청은 기간 bi(일 단위)로 표현된다.
시장 규정에 따르면 모든 예금은 매일 같은 정수 금액으로 상환되어야 한다. 따라서 금액이 a인 예금과 기간이 b인 요청은 a가 b로 나누어떨어질 때에만 서로 매칭된다.
예금과 요청 정보가 주어질 때, 서로 매칭되는 (예금, 요청) 쌍의 개수를 구하여라.
첫째 줄에 예금의 개수 n이 주어진다 (1≤n≤100000).
둘째 줄에 n개의 정수 a1,a2,…,an이 주어진다 (1≤ai≤106).
셋째 줄에 요청의 개수 m이 주어진다 (1≤m≤100000).
넷째 줄에 m개의 정수 b1,b2,…,bm이 주어진다 (1≤bi≤106).
매칭되는 쌍의 개수를 정수 하나로 출력한다.
각 요청은 개별적으로 센다. 따라서 같은 기간이 여러 번 요청되면 한 예금이 그 기간과 여러 번 매칭될 수 있다.
예금이 3,4,5,6이고 요청 기간이 1,1,2,3인 경우, 매칭되는 (예금, 기간) 쌍은 (3,1) 두 번, (3,3), (4,1) 두 번, (4,2), (5,1) 두 번, (6,1) 두 번, (6,2), (6,3)으로 모두 12개이다.