#include<stdio.h> 

int main(){ 
	int n,a[101],i,j,temp,min,k;
	
	scanf("%d",&n);
	
	for(i = 0;i < n;i++){
		scanf("%d",&a[i]);
	}

	//找到最小的值 
	min = a[1];  //假设第二个元素为最小元素 
	for(j = 2;j < n;j++){
		if(a[j] < min) min = a[j];	  
	} 
	//因为是从左边开始循序,所有如果发现与最小值相等的元素,就停下,当前的下标就是交换的下标 
	for(j = 1;j < n;j++){
		if(a[j] == min){ 
			k = j;//最小值最早出现的下标 
			break; 
		} 	
	} 
	
	
	if(a[0] >= a[k]){ 
		temp = a[0];
		a[0] = a[k];
		a[k] = temp; 
	}else{
		k = 0; 
	} 
	
	printf("%d\n",k+1) ;
	
	for(i = 0;i<n;i++){
		printf("%d ",a[i]); 
	} 

	
	return 0; 
	  
} 

/**************************************************************
	Problem: 1157
	User: admin
	Language: C
	Result: Accepted
	Time:10 ms
	Memory:1144 kb
****************************************************************/