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