n = read_line.to_i a = read_line.split.map &.to_i64 b = Array.new(Math.log2(10i64**12).to_i.succ) { [0i64]*n } b.each_index do |i| if i == 0 b[i] = a else b[i] = b[i - 1].map_with_index { |v, j| v + b[i - 1][(v + j) % n] } end end read_line.to_i.times do k = read_line.to_i64 puts b.each_with_index.reduce(0i64) { |acc, (v, i)| acc + (k.bit(i) == 1 ? v[acc % n] : 0) } end