n = gets.to_i a = gets.split.map(&:to_i) dp = Array.new(40) { Array.new(100005, 0) } for i in 0...n dp[0][i] = a[i] end for i in 0...39 for j in 0...n dp[i + 1][j] = dp[i][j] + dp[i][(j + dp[i][j]) % n] end end q = gets.to_i while q > 0 k = gets.to_i ans = 0 for i in 0...40 if (k[i] == 1) ans += dp[i][ans % n] end end puts ans q -= 1 end