N, M = gets.split.map(&:to_i)
a = N.times.map{gets.to_i}

(1..M).each do |k|
  (0...(N-1)).each do |i|
    r1, r2 = a[i] % k, a[i + 1] % k
    a[i], a[i + 1] = a[i + 1], a[i] if r1 > r2
  end
end

puts a