#P3536. [POI 2012] BON-Vouchers

[POI 2012] BON-Vouchers

题目描述

The candy shop owned by Byteasar sells delicious caramel candy.

For every positive integer cc there is exactly one package that contains cc candies; currently no new deliveries are expected.

To encourage customers to buy the sweets, Byteasar has planted mm vouchers for an annual supply of chocolate into some packages, making sure to put at most one voucher in each package.

The carnival starts next week in Byteburg, and it will last nn days; on the kk-th day of the carnival a party with aka_k guests will be held.

Byteasar is confident that on the kk-th day's morning each of those guests is going to buy, in his own store, the smallest package of candy available whose content can be equally distributed between the party guests. For example, if n=2n=2, a1=4a_1=4, a2=2a_2=2, then on the first day of the carnival he expects to sell the packages containing four, eight, twelve, and sixteen candies, selling those with two and six candies on the second day.

Now he is wondering which customers will end up with the packages holding the vouchers.

He has asked you to write a program that will determine this for him.

定义n个数为幸运数字,一共有n批人,设第i批人有x个,则它们会依次取走余下的x的倍数中最小的x个,问哪些人去走了幸运数字

输入格式

On the first line of the standard input there is a single integer mm (1m1 000 0001\le m\le 1\ 000\ 000) that denotes the number of vouchers.

The kk-th of the mm lines that follow holds an integer bkb_k (1bk1 000 0001\le b_k\le 1\ 000\ 000)denoting the size (i.e., the number of candies inside) of a package in which Byteasar has placed the kk-th voucher.

These numbers are given in an increasing order.

Then the next line contains a single integer nn (1n1 000 0001\le n\le 1\ 000\ 000) that denotes the number of carnival days.

The kk-th of the nn lines that follow holds an integer aka_k(1ak1 000 0001\le a_k\le 1\ 000\ 000)denoting the number of guests attending the kk-th party.

You may assume that in tests worth at least 50% of the total points none of the numbers given on the input exceeds 5 0005\ 000.

输出格式

In the first line of the standard output your program should print an integer zz - the number of packages with vouchers sold.

The following zz lines should specify the numbers of those customers who bought a package with a voucher, in an increasing order.

The customers are numbered from 11 in the order of their purchases.

4
1
6
8
16
3
4
2
4
3
2
4
6