import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.StringBuilder;

/*Question
/?????????????????????????¨??????????????????§?????????????°????????????????????????????????????´???????????¢?????´???????????§??????
/1 selectionSort(A, N) // N??????????´??????????0-?????????????????????A
/2 for i ??? 0 ?????? N-1 ?????§
/3 minj = i
/4 for j ??? i ?????? N-1 ?????§
/5 if A[j] < A[minj]
/6 minj = j
/7 A[i] ??¨ A[minj] ?????????
/??°???A??????????????????????????????????????¢?????´???????????§?????????????????????????????????????????°????????????????????????????????????
/????????????????????????????????¢?????´????????????????£??????????????????????
/??????????????? 7 ????????§???i ??¨ minj ?????°?????????????????????????????????????????°?????????????????????????????? 
*/

/*Input
/??\??????????????????????????°?????????????????¨?????´??° N ???????????????????????????????????????N ????????´??°????????????????????§????????????????????? 
*/

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	}

	/*Selection????????????
	/???????????????????????????
	/?????????????????????????????????????????????????????°??¨??????????????????????±?????°????????????°????????????????¨???¶??????
	/??¨???????????´???????????°??¨????????????????¨???¶?????????????????????????????¨??\????????????
	@return int
	*/

	public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	}
} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io import java.lang.StringBuilder; StringBuilder java.lang public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	}

	/*Selection????????????
	/???????????????????????????
	/?????????????????????????????????????????????????????°??¨??????????????????????±?????°????????????°????????????????¨???¶??????
	/??¨???????????´???????????°??¨????????????????¨???¶?????????????????????????????¨??\????????????
	@return int
	*/

	public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	}
} Main public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	} main {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	} BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); sc new BufferedReader(new InputStreamReader(System.in)) int k; k int n = Integer.parseInt(sc.readLine()); n Integer.parseInt(sc.readLine()) Integer.parseInt Integer sc.readLine() sc.readLine sc int[] a = new int[n]; a new int[n] n String[] st = sc.readLine().split(" "); st sc.readLine().split(" ") sc.readLine().split sc.readLine() sc.readLine sc " " for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		} int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
			a[i] = Integer.parseInt(st[i]);
		} {
			a[i] = Integer.parseInt(st[i]);
		} a[i] = Integer.parseInt(st[i]) a[i] a i Integer.parseInt(st[i]) Integer.parseInt Integer st[i] st i k = Selection(a) k Selection(a) Selection a System.out.println(k) System.out.println System.out System System.out k String[] args args public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	} Selection {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	} StringBuilder br = new StringBuilder(); br new StringBuilder() int s = 0; s 0 int min min t; t for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		} int i = 0; int i = 0; i 0 i < a.length i a.length a a.length i++ i++ i {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		} {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		} min = i min i for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			} int j = i + 1; int j = i + 1; j i + 1 i 1 j < a.length j a.length a a.length j++ j++ j {
				if (a[j] < a[min]) min = j;
			} {
				if (a[j] < a[min]) min = j;
			} if (a[j] < a[min]) min = j; a[j] < a[min] a[j] a j a[min] a min min = j min j if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			} min != i min i {
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			} t = a[i] t a[i] a i a[i] = a[min] a[i] a i a[min] a min a[min] = t a[min] a min t s++ s for (int n:a)
			br.append(n+" "); int n a br.append(n+" "); br.append(n+" ") br.append br n+" " n " " br.deleteCharAt(br.lastIndexOf(" ")) br.deleteCharAt br br.lastIndexOf(" ") br.lastIndexOf br " " System.out.println(br) System.out.println System.out System System.out br return s; s int[] a a public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	}

	/*Selection????????????
	/???????????????????????????
	/?????????????????????????????????????????????????????°??¨??????????????????????±?????°????????????°????????????????¨???¶??????
	/??¨???????????´???????????°??¨????????????????¨???¶?????????????????????????????¨??\????????????
	@return int
	*/

	public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	}
} public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	}

	/*Selection????????????
	/???????????????????????????
	/?????????????????????????????????????????????????????°??¨??????????????????????±?????°????????????°????????????????¨???¶??????
	/??¨???????????´???????????°??¨????????????????¨???¶?????????????????????????????¨??\????????????
	@return int
	*/

	public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	}
} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.StringBuilder;

/*Question
/?????????????????????????¨??????????????????§?????????????°????????????????????????????????????´???????????¢?????´???????????§??????
/1 selectionSort(A, N) // N??????????´??????????0-?????????????????????A
/2 for i ??? 0 ?????? N-1 ?????§
/3 minj = i
/4 for j ??? i ?????? N-1 ?????§
/5 if A[j] < A[minj]
/6 minj = j
/7 A[i] ??¨ A[minj] ?????????
/??°???A??????????????????????????????????????¢?????´???????????§?????????????????????????????????????????°????????????????????????????????????
/????????????????????????????????¢?????´????????????????£??????????????????????
/??????????????? 7 ????????§???i ??¨ minj ?????°?????????????????????????????????????????°?????????????????????????????? 
*/

/*Input
/??\??????????????????????????°?????????????????¨?????´??° N ???????????????????????????????????????N ????????´??°????????????????????§????????????????????? 
*/

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader sc = new BufferedReader(new InputStreamReader(System.in));
		//???????????°????¢??????¨
		int k;
		/*??\???
		/??????????´???°?????\???????¬??????°????????\???
		*/
		int n = Integer.parseInt(sc.readLine());
		int[] a = new int[n];
		String[] st = sc.readLine().split(" ");
		for(int i = 0;i < n;i++){
			a[i] = Integer.parseInt(st[i]);
		}
		/*??°??????Selection???????????????
		/????????????????????§?????????????????????
		/??????????????£??????????????§??????
		*/
		k = Selection(a);
		System.out.println(k);
	}

	/*Selection????????????
	/???????????????????????????
	/?????????????????????????????????????????????????????°??¨??????????????????????±?????°????????????°????????????????¨???¶??????
	/??¨???????????´???????????°??¨????????????????¨???¶?????????????????????????????¨??\????????????
	@return int
	*/

	public static int Selection(int[] a) {
		//????????¨
		StringBuilder br = new StringBuilder();
		//?????°???????????????
		int s = 0;
		//????????????????????????????????\????????¨
		int min,t;
		for (int i = 0;i < a.length;i++) {
			min = i;
			for (int j = i + 1;j < a.length;j++) {
				if (a[j] < a[min]) min = j;
			}
			if (min != i){
				t = a[i];
				a[i] = a[min];
				a[min] = t;
				s++;
			}
		}
		//??????
		for (int n:a)
			br.append(n+" ");
		br.deleteCharAt(br.lastIndexOf(" "));
		System.out.println(br);
		return s;
	}
}