#include <cstring>
#include <cstdio>
using namespace std;
bool check[1000001], exist[1000001];
long long ans[1000000];
int start[1000001];
int main() {
int m, limit = 0;
scanf("%d", &m);
memset(check, false, sizeof(check));
for (int i = 0; i < m; i ++) {
int x;
scanf("%d", &x);
check[x] = true;
if (x > limit) limit = x;
}
int n, tot = 0;
scanf("%d", &n);
long long now = 0;
memset(exist, false, sizeof(exist));
for (int i = 1; i <= limit; i ++) start[i] = i;
for (int i = 0; i < n; i ++) {
int x;
scanf("%d", &x);
int cur = start[x];
for (int j = 0; j < x; j ++) {
while (exist[cur]) {
cur += x;
if (cur > limit) break;
}
start[x] = cur;
if (cur > limit) break;
exist[cur] = true;
if (check[cur]) ans[tot ++] = now + j;
}
now += x;
}
printf("%d\n", tot);
for (int i = 0; i < tot; i ++) printf("%lld\n", ans[i] + 1);
return 0;
}
CiNpbmNsdWRlIDxjc3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGlvPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgY2hlY2tbMTAwMDAwMV0sIGV4aXN0WzEwMDAwMDFdOwpsb25nIGxvbmcgYW5zWzEwMDAwMDBdOwppbnQgc3RhcnRbMTAwMDAwMV07CgppbnQgbWFpbigpIHsKCWludCBtLCBsaW1pdCA9IDA7CglzY2FuZigiJWQiLCAmbSk7CgltZW1zZXQoY2hlY2ssIGZhbHNlLCBzaXplb2YoY2hlY2spKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSArKykgewoJCWludCB4OwoJCXNjYW5mKCIlZCIsICZ4KTsKCQljaGVja1t4XSA9IHRydWU7CgkJaWYgKHggPiBsaW1pdCkgbGltaXQgPSB4OwoJfQoJCglpbnQgbiwgdG90ID0gMDsKCXNjYW5mKCIlZCIsICZuKTsKCWxvbmcgbG9uZyBub3cgPSAwOwoJbWVtc2V0KGV4aXN0LCBmYWxzZSwgc2l6ZW9mKGV4aXN0KSk7Cglmb3IgKGludCBpID0gMTsgaSA8PSBsaW1pdDsgaSArKykgc3RhcnRbaV0gPSBpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpICsrKSB7CgkJaW50IHg7CgkJc2NhbmYoIiVkIiwgJngpOwoJCWludCBjdXIgPSBzdGFydFt4XTsKCQlmb3IgKGludCBqID0gMDsgaiA8IHg7IGogKyspIHsKCQkJd2hpbGUgKGV4aXN0W2N1cl0pIHsKCQkJCWN1ciArPSB4OwoJCQkJaWYgKGN1ciA+IGxpbWl0KSBicmVhazsKCQkJfQoJCQlzdGFydFt4XSA9IGN1cjsKCQkJaWYgKGN1ciA+IGxpbWl0KSBicmVhazsKCQkJZXhpc3RbY3VyXSA9IHRydWU7CgkJCWlmIChjaGVja1tjdXJdKSBhbnNbdG90ICsrXSA9IG5vdyArIGo7CgkJfQoJCW5vdyArPSB4OwoJfQoJCglwcmludGYoIiVkXG4iLCB0b3QpOwoJZm9yIChpbnQgaSA9IDA7IGkgPCB0b3Q7IGkgKyspIHByaW50ZigiJWxsZFxuIiwgYW5zW2ldICsgMSk7CgkKCXJldHVybiAwOwp9Cg==