n = read_line.to_i a = read_line.split.map &.to_i64 b = Array.new(40) { [0i64]*n } b.each_index do |i| b[i] = (i == 0 ? a : b[i - 1].map_with_index { |v, j| v + b[i - 1][(v + j) % n] }) 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