어느 사탕 가게가 캐러멜 사탕을 판다. 모든 양의 정수 c에 대해 사탕이 정확히 c개 들어 있는 꾸러미가 딱 하나씩 있다. 즉 꾸러미의 크기는 1,2,3,…이고 각 크기마다 하나씩만 있으며, 새로 들어오는 물량은 없다.
가게 주인은 손님에게 보답하려고 m개의 상품권을 꾸러미 속에 숨겨 두었다. 상품권은 서로 다른 꾸러미에 하나씩 들어가며(한 꾸러미에 상품권은 최대 하나), k번째 상품권은 크기가 bk인 꾸러미에 들어 있다.
마을 축제는 n일 동안 열린다. k일째에는 손님이 ak명 오는 파티가 열린다. k일째 아침에 그 ak명의 손님은 각자, 아직 팔리지 않은 꾸러미 중에서 사탕 개수가 ak로 나누어떨어지는(즉 ak명이 똑같이 나눌 수 있는) 가장 작은 꾸러미를 산다. 손님이 ak명이므로, k일째에는 크기가 ak의 배수이면서 아직 남아 있는 꾸러미 가운데 작은 것부터 ak개가 팔린다.
손님에게는 축제 전체에 걸쳐 산 순서대로 1,2,3,…번이 매겨진다. 앞선 날에 산 손님이 뒷날에 산 손님보다 먼저이고, 같은 날 안에서는 더 작은 꾸러미를 산 손님이 더 작은 번호를 받는다.
예를 들어 n=2, a1=4, a2=2이면 첫째 날에는 사탕이 4,8,12,16개 든 꾸러미가 팔리고, 둘째 날에는 2,6개 든 꾸러미가 팔린다.
어떤 손님들이 상품권이 든 꾸러미를 사게 되는지 구하여라.
첫째 줄에 상품권의 개수 m (1≤m≤1,000,000)이 주어진다.
이어지는 m개의 줄에는 각각 정수 bk (1≤bk≤1,000,000)가 주어지며, 이는 k번째 상품권이 든 꾸러미의 크기(사탕 개수)이다. bk는 서로 다르며 강한 증가(오름차순)로 주어진다.
그다음 줄에 축제가 열리는 날 수 n (1≤n≤1,000,000)이 주어진다.
이어지는 n개의 줄에는 각각 정수 ak (1≤ak≤1,000,000)가 주어지며, 이는 k일째 파티에 오는 손님 수이다.
첫째 줄에 팔린 상품권의 개수 z를 출력한다.
이어지는 z개의 줄에는 상품권이 든 꾸러미를 산 손님들의 번호를 오름차순으로 출력한다. z=0이면 첫째 줄만 출력한다.