#include<stdio.h>
#include<stdlib.h>

void int_display(int *A,int n)
{
  int i;
  for(i=0;i<n;i++){
    printf("%d",A[i]);
    if(i<n-1) printf(" ");
  }
  printf("\n");
}

void swap(int *A,int i,int j)
{
  int x;
  x=A[i];
  A[i]=A[j];
  A[j]=x;
}

int selection_sort(int *A,int n)
{
  int i,j,minj,s;
  s=0;
  for(i=0;i<n;i++){
    minj=i;
    for(j=i+1;j<n-1;j++){
    if(A[j]<A[minj]) minj=j;
    }
    swap(A,i,minj);
    if(i!=minj) s++;
  }
  return s;
}

void int_read(int *A,int n)
{
    int i;
    scanf("%d",&n);
    A=malloc(n*sizeof(int));
    for(i=0;i<n;i++){
      scanf("%d",&A[i]);
    }
}

int main()
{
  int *A;
  int n,swap;
  int_read(A,n);
  swap=selection_sort(A,n);
  int_display(A,n);
  printf("%d",swap);
  return 0;
}