def selectionSort(nums,n):
    k=0
    for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
    return nums,k
    
n=int(input())
nums=list(map(int,input().split()))

nums,k=selectionSort(nums,n)
print(*nums)
print(k) def selectionSort(nums,n):
    k=0
    for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
    return nums,k
     selectionSort k=0 k 0 for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
     i range(n) range n minj=i minj i for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
         j range(i,n) range i n if nums[j]<nums[minj]:
                minj=j
         nums[j]<nums[minj] nums[j] nums j nums[minj] nums minj minj=j minj j if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
     nums[i]!=nums[minj] nums[i] nums i nums[minj] nums minj nums[i],nums[minj]=nums[minj],nums[i] nums[i] nums i nums[minj] nums minj nums[minj] nums minj nums[i] nums i k+=1 k 1 return nums,k return nums,k nums k nums nums n n n=int(input()) n int(input()) int input() input nums=list(map(int,input().split())) nums list(map(int,input().split())) list map(int,input().split()) map int input().split() ().split () input split nums,k=selectionSort(nums,n) nums selectionSort(nums,n) selectionSort nums n k print(*nums) print *nums nums print(k) print k def selectionSort(nums,n):
    k=0
    for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
    return nums,k
     def selectionSort(nums,n):
    k=0
    for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
    return nums,k
     selectionSort n=int(input()) int(input()) n nums,k=selectionSort(nums,n) selectionSort(nums,n) nums k=selectionSort(nums,n) selectionSort(nums,n) k nums=list(map(int,input().split())) list(map(int,input().split())) nums
def selectionSort(nums,n):
    k=0
    for i in range(n):
        minj=i
        for j in range(i,n):
            if nums[j]<nums[minj]:
                minj=j
        if nums[i]!=nums[minj]:
            nums[i],nums[minj]=nums[minj],nums[i]
            #print(nums)
            k+=1
    return nums,k
    
n=int(input())
nums=list(map(int,input().split()))

nums,k=selectionSort(nums,n)
print(*nums)
print(k)