t = gets.to_i t.times do a, b, c, x, y, z = gets.split.map &:to_i d = [[0, 2, 1], [1, 0, 2], [1, 2, 0], [2, 0, 1]].map { |r| ps = (0...3).map { |i| r.find_index { |v| v == i } } vs = (0...3).map { |i| [a, b, c][ps[i]] } cs = (0...3).map { |i| [y, z, x][ps[i]] } s, t, u, v = *vs, 0 if t <= s q = s + 1 - t v += q * cs[1] s -= q u -= q end if u <= t q = t + 1 - u v += q * cs[2] s -= q t -= q end next Float::INFINITY if [s, t, u].any? { |q| q < 1 } v } .min d = -1 if d == Float::INFINITY puts d end