def selection_sort a
  n = a.size
  0.upto(n - 1) do |i|
    mini = i
    i.upto(n - 1) do |j|
      mini = j if a[j] < a[mini]
    end
    unless i == mini
      a[i], a[mini] = a[mini], a[i]
      yield if block_given?
    end
  end
  a
end

n = gets.chop.to_i
a = gets.chop.split.map(&:to_i)
cnt = 0

puts selection_sort(a) { cnt += 1 }.join(' ')
puts cnt