MAX_POW2_EXP = (10**18).to_s(2).length - 1 def solve(p) 2.upto(MAX_POW2_EXP) do |x| return x if 2.pow(x,p) == x%p end '-1' end n = gets.to_i n.times{ puts solve(gets.to_i) }