def selectionSort( nums ):
	cnt = 0
	for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	print( " ".join( map( str, nums) ) )
	print( cnt )


n = int( raw_input( ) )
nums = [ int( val ) for val in raw_input( ).split( " " ) ]
selectionSort( nums ) def selectionSort( nums ):
	cnt = 0
	for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	print( " ".join( map( str, nums) ) )
	print( cnt ) selectionSort cnt = 0 cnt 0 for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	 i range( 0, len( nums ) ) range 0 len( nums ) len nums mini = i mini i for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		 j range( i , len( nums ) ) range i len( nums ) len nums if nums[j] < nums[ mini ]:
				mini = j
		 nums[j] < nums[ mini ] nums[j] nums j nums[ mini ] nums mini mini = j mini j if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	 mini != i mini i cnt += 1 cnt 1 nums[i], nums[ mini ] = nums[ mini ], nums[i] nums[i] nums i nums[ mini ] nums mini nums[ mini ] nums mini nums[i] nums i print( " ".join( map( str, nums) ) ) print " ".join( map( str, nums) ) " ".join " " join map( str, nums) map str nums print( cnt ) print cnt nums nums n = int( raw_input( ) ) n int( raw_input( ) ) int raw_input( ) raw_input int( val ) for val in raw_input( ).split( " " ) for val in raw_input( ).split( " " ) val raw_input( ).split( " " ) ( ).split ( ) raw_input split " " for val in raw_input( ).split( " " ) int( val ) int val nums = [ int( val ) for val in raw_input( ).split( " " ) ] nums [ int( val ) for val in raw_input( ).split( " " ) ] selectionSort( nums ) selectionSort nums n = int( raw_input( ) ) int( raw_input( ) ) n def selectionSort( nums ):
	cnt = 0
	for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	print( " ".join( map( str, nums) ) )
	print( cnt ) def selectionSort( nums ):
	cnt = 0
	for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	print( " ".join( map( str, nums) ) )
	print( cnt ) selectionSort nums = [ int( val ) for val in raw_input( ).split( " " ) ] [ int( val ) for val in raw_input( ).split( " " ) ] nums
def selectionSort( nums ):
	cnt = 0
	for i in range( 0, len( nums ) ):
		mini = i
		for j in range( i , len( nums ) ):
			if nums[j] < nums[ mini ]:
				mini = j
		if mini != i:
			cnt += 1
			nums[i], nums[ mini ] = nums[ mini ], nums[i]

	print( " ".join( map( str, nums) ) )
	print( cnt )


n = int( raw_input( ) )
nums = [ int( val ) for val in raw_input( ).split( " " ) ]
selectionSort( nums )