require 'prime' T = gets.to_i X = T.times.map { gets.to_i } X.each do |x| if x == 1 puts 2 next end cnt = x.prime_division.map { |_, cnt| cnt + 1 }.inject(:*) 2.upto(31) do |q| cnt2 = (q * x).prime_division.map { |_, cnt| cnt + 1 }.inject(:*) if 2 * cnt == cnt2 puts q * x break end end end