function main(lines) {
    const n = lines.split('\n')[0]
    const An = lines.split('\n')[1].split(' ').map(Number)
    
    let swap = 0
    //範囲を狭めていく
    for(let i=0; i<n-1; i++){
        let minElement = i;
        for(let j=i; j<n; j++){
            // <=にすると、同一の最小値がいくつもあるときに不具合
            // 左から一番小さな値を検索
            if(An[j] < An[minElement]){
                minElement = j;
            }
        }
        let tmp = An[i]
        An[i] = An[minElement]
        An[minElement] = tmp
        if(i!= minElement){
            swap++
        }
    }
    console.log(An.join(' '))
    console.log(swap)
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));


