import java.util.Scanner;
public class Main {
	static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	}
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {
	static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	}
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	}
} Main static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	} swap {
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	} int tmp=data[x]; tmp data[x] data x data[x]=data[y] data[x] data x data[y] data y data[y]=tmp data[y] data y tmp int[] data data int x x int y y public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	} main {
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	} Scanner scan=new Scanner(System.in); scan new Scanner(System.in) int N=scan.nextInt(); N scan.nextInt() scan.nextInt scan int[] data=new int[N]; data new int[N] N int count=0 count 0 mini; mini for(int i=0;i<N;i++) data[i]=scan.nextInt(); int i=0; int i=0; i 0 i<N i N i++ i++ i data[i]=scan.nextInt(); data[i]=scan.nextInt() data[i] data i scan.nextInt() scan.nextInt scan for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		} {
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		} mini=i mini i for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			} int j=i; int j=i; j i j<N j N j++ j++ j {
				if(data[j]<data[mini]){
					mini=j;
				}
			} {
				if(data[j]<data[mini]){
					mini=j;
				}
			} if(data[j]<data[mini]){
					mini=j;
				} data[j]<data[mini] data[j] data j data[mini] data mini {
					mini=j;
				} mini=j mini j if(i!=mini){
				swap(data,i,mini);
				count++;
			} i!=mini i mini {
				swap(data,i,mini);
				count++;
			} swap(data,i,mini) swap data i mini count++ count for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		} {
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		} if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]); i==0 i 0 System.out.print(data[i]) System.out.print System.out System System.out data[i] data i System.out.print(" "+data[i]) System.out.print System.out System System.out " "+data[i] " " data[i] data i System.out.printf("\n%d\n",count) System.out.printf System.out System System.out "\n%d\n" count scan.close() scan.close scan String[] args args public class Main {
	static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	}
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	}
} public class Main {
	static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	}
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	}
} Main
import java.util.Scanner;
public class Main {
	static void swap(int[] data,int x,int y){
		int tmp=data[x];
		data[x]=data[y];
		data[y]=tmp;
	}
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int N=scan.nextInt();
		int[] data=new int[N];
		int count=0,mini;
		for(int i=0;i<N;i++) data[i]=scan.nextInt();
		for(int i=0;i<N;i++){
			mini=i;
			for(int j=i;j<N;j++){
				if(data[j]<data[mini]){
					mini=j;
				}
			}
			if(i!=mini){
				swap(data,i,mini);
				count++;
			}
		}
		for(int i=0;i<N;i++){
			if(i==0) System.out.print(data[i]);
			else System.out.print(" "+data[i]);
		}
		System.out.printf("\n%d\n",count);
		scan.close();
	}
}