N = gets.to_i A = gets.split.take(N).map(&:to_i).sort_by{|v|-v} M = gets.to_i B = gets.split.take(M).map(&:to_i).sort_by{|v|-v} ans = A.permutation(N).inject(9e9){|r, order| res = 9e9 B.each_with_index{|box, j| while !order.empty? break if box < order[0] box -= order.shift end if order.empty? res = j + 1 break end } [r, res].min } p ans > M ? -1 : ans