import java.util.*;

public class Main {
    public static void main(String[] args) {
        aldl_1_2_b();
    }

    static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        aldl_1_2_b();
    }

    static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    }
} Main public static void main(String[] args) {
        aldl_1_2_b();
    } main {
        aldl_1_2_b();
    } aldl_1_2_b() aldl_1_2_b String[] args args static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    } aldl_1_2_b {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc ArrayList<Integer> data = new ArrayList<Integer>(); data new ArrayList<Integer>() for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            data.add(sc.nextInt());
        } {
            data.add(sc.nextInt());
        } data.add(sc.nextInt()) data.add data sc.nextInt() sc.nextInt sc sc.close() sc.close sc int count = 0; count 0 for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        } int i = 0; int i = 0; i 0 i < data.size() - 1 i data.size() - 1 data.size() data.size data 1 i++ i++ i {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        } {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        } int minIndex = -1; minIndex -1 1 int min = data.get(i); min data.get(i) data.get data i for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            } int j = i+1; int j = i+1; j i+1 i 1 j < data.size() j data.size() data.size data j++ j++ j {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            } {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            } if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                } data.get(j) < min data.get(j) data.get data j min {
                    min = data.get(j);
                    minIndex = j;
                } min = data.get(j) min data.get(j) data.get data j minIndex = j minIndex j if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            } minIndex > 0 minIndex 0 {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            } data.set(minIndex, data.get(i)) data.set data minIndex data.get(i) data.get data i data.set(i, min) data.set data i min count++ count for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        } int i = 0; int i = 0; i 0 i < data.size() i data.size() data.size data i++ i++ i {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        } {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        } if (i > 0)
                System.out.print(" "); i > 0 i 0 System.out.print(" ") System.out.print System.out System System.out " " System.out.print(data.get(i)) System.out.print System.out System System.out data.get(i) data.get data i System.out.println() System.out.println System.out System System.out System.out.println(count) System.out.println System.out System System.out count public class Main {
    public static void main(String[] args) {
        aldl_1_2_b();
    }

    static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    }
} public class Main {
    public static void main(String[] args) {
        aldl_1_2_b();
    }

    static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        aldl_1_2_b();
    }

    static void aldl_1_2_b() {
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        ArrayList<Integer> data = new ArrayList<Integer>();
        for (int i = 0; i < n; i++) {
            data.add(sc.nextInt());
        }
        sc.close();
        int count = 0;

        for (int i = 0; i < data.size() - 1; i++) {
            int minIndex = -1;
            int min = data.get(i);
            for (int j = i+1; j < data.size(); j++) {
                if (data.get(j) < min) {
                    min = data.get(j);
                    minIndex = j;
                }
            }
            if (minIndex > 0) {
                data.set(minIndex, data.get(i));
                data.set(i, min);
                count++;
            }
        }
        for (int i = 0; i < data.size(); i++) {
            if (i > 0)
                System.out.print(" ");
            System.out.print(data.get(i));
        }
        System.out.println();
        System.out.println(count);
    }
}
