import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	}
	public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	}
} import java.util.Scanner; Scanner java.util public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	}
	public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	} main {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int A[] = new int[N]; A new int[N] N for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			A[i] = sc.nextInt();
		} {
			A[i] = sc.nextInt();
		} A[i] = sc.nextInt() A[i] A i sc.nextInt() sc.nextInt sc selectionSort(A,N) selectionSort A N String[] args args public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	} selectionSort {
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	} int count=0; count 0 for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		} {
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		} int minj=i; minj i for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			} int j=i; int j=i; j i j<N j N j++ j++ j {
				if(A[j]<A[minj])minj=j;
			} {
				if(A[j]<A[minj])minj=j;
			} if(A[j]<A[minj])minj=j; A[j]<A[minj] A[j] A j A[minj] A minj minj=j minj j if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			} i!=minj i minj {
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			} int c = A[i]; c A[i] A i A[i] = A[minj] A[i] A i A[minj] A minj A[minj] = c A[minj] A minj c count++ count for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		} {
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		} System.out.print(A[i]) System.out.print System.out System System.out A[i] A i if(i!=N-1)System.out.print(" "); i!=N-1 i N-1 N 1 System.out.print(" ") System.out.print System.out System System.out " " System.out.printf("\n%d\n",count) System.out.printf System.out System System.out "\n%d\n" count int[] A A int N N public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	}
	public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	}
} public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	}
	public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	}
} Main
import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int A[] = new int[N];
		for(int i=0;i<N;i++){
			A[i] = sc.nextInt();
		}
		selectionSort(A,N);
	}
	public static void selectionSort(int[] A,int N){
		int count=0;
		for(int i=0;i<N;i++){
			int minj=i;
			for(int j=i;j<N;j++){
				if(A[j]<A[minj])minj=j;
			}
			if(i!=minj){
				int c = A[i];
				A[i] = A[minj];
				A[minj] = c;
				count++;
			}
		}

		for(int i=0;i<N;i++){
			System.out.print(A[i]);
			if(i!=N-1)System.out.print(" ");
		}
		System.out.printf("\n%d\n",count);
	}
}
