import java.util.Scanner;

public class Main {
	public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	}
} Main public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	} selectionSort {
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	} int min min tmp tmp cnt=0; cnt 0 for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		} int i=0; int i=0; i 0 i<num i num i++ i++ i {
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		} {
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		} min=i min i for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			} int j=i+1; int j=i+1; j i+1 i 1 j<num j num j++ j++ j {
				if(ary[j]<ary[min]){
					min=j;
				}
			} {
				if(ary[j]<ary[min]){
					min=j;
				}
			} if(ary[j]<ary[min]){
					min=j;
				} ary[j]<ary[min] ary[j] ary j ary[min] ary min {
					min=j;
				} min=j min j if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			} i!=min i min {
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			} cnt++ cnt tmp=ary[i] tmp ary[i] ary i ary[i]=ary[min] ary[i] ary i ary[min] ary min ary[min]=tmp ary[min] ary min tmp return cnt; cnt int[] ary ary int num num public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	} main {
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n=sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] a; a 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 cnt = selectionSort(a,n); cnt selectionSort(a,n) selectionSort a n for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		} int i=0; int i=0; i 0 i<n-1 i n-1 n 1 i++ i++ i {
			System.out.printf("%d ",a[i]);
		} {
			System.out.printf("%d ",a[i]);
		} System.out.printf("%d ",a[i]) System.out.printf System.out System System.out "%d " a[i] a i System.out.printf("%d",a[n-1]) System.out.printf System.out System System.out "%d" a[n-1] a n-1 n 1 System.out.printf("\n") System.out.printf System.out System System.out "\n" System.out.println(cnt) System.out.println System.out System System.out cnt sc.close() sc.close sc String[] args args public class Main {
	public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	}
} public class Main {
	public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	}
} Main
import java.util.Scanner;

public class Main {
	public static int selectionSort(int[] ary,int num){
		int min,tmp,cnt=0;
		for(int i=0;i<num;i++){
			min=i;
			for(int j=i+1;j<num;j++){
				if(ary[j]<ary[min]){
					min=j;
				}
			}
				if(i!=min){
					cnt++;
					tmp=ary[i];
					ary[i]=ary[min];
					ary[min]=tmp;
			}
		}
		return cnt;
	}

	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n=sc.nextInt();
		int[] a;
		a = new int[n];
		for(int i=0;i<n;i++){
			a[i]=sc.nextInt();
		}
		int cnt = selectionSort(a,n);
		for(int i=0;i<n-1;i++){
			System.out.printf("%d ",a[i]);
		}
		System.out.printf("%d",a[n-1]);
		System.out.printf("\n");
		System.out.println(cnt);
		sc.close();
	}
}
