import java.util.*;
import java.math.*;
import java.awt.geom.*;
import java.io.*;
    
    
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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	}
	static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	}
} import java.util.*; util.* java import java.math.*; math.* java import java.awt.geom.*; geom.* java.awt import java.io.*; io.* java 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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	}
	static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	}
} 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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	} 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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	} 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 int ans = selectionSort(a,n); ans selectionSort(a,n) selectionSort a n System.out.print(a[0]) System.out.print System.out System System.out a[0] a 0 for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		} int i = 1; int i = 1; i 1 i < n i n i++ i++ i {
			System.out.print(" " + a[i]);
		} {
			System.out.print(" " + a[i]);
		} System.out.print(" " + a[i]) System.out.print System.out System System.out " " + a[i] " " a[i] a i System.out.println() System.out.println System.out System System.out System.out.println(ans) System.out.println System.out System System.out ans String[] args args static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	} selectionSort {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	} int ret = 0; ret 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		} 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		} {
			int minj = i;
			for(int j = i; j < N; j++) {
				if(A[j] < A[minj]) {
					minj = j;
				}
			}
			if(i != minj) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		} 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 minj j if(i != minj) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			} i != minj i minj {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			} ret++ ret int tmp = A[i]; tmp A[i] A i A[i] = A[minj] A[i] A i A[minj] A minj A[minj] = tmp A[minj] A minj tmp return ret; ret 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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	}
	static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	}
} 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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	}
	static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	}
} Main
import java.util.*;
import java.math.*;
import java.awt.geom.*;
import java.io.*;
    
    
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();
		}
		int ans = selectionSort(a,n);
		System.out.print(a[0]);
		for(int i = 1; i < n; i++) {
			System.out.print(" " + a[i]);
		}
		System.out.println();
		System.out.println(ans);
		
	}
	static int selectionSort(int[] A, int N) {
		int ret = 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) {
				ret++;
				int tmp = A[i];
				A[i] = A[minj];
				A[minj] = tmp;
			}
		}
		return ret;
	}
}