# input N = gets.to_i A = N.times.map{ gets.to_i } def check_nums nums nums.index.with_index{|num, i| num == A[i]} end def change_nums nums, index i = ((0...nums.size).to_a - [index]).sample nums[index], nums[i] = nums[i], nums[index] end if (!A.any?{|i| i >= N } && A.uniq.size == 1) p -1 else nums = (0...N).to_a.shuffle while (ng = check_nums(nums)) != nil change_nums nums, ng end nums.each{|i| p i } end