3
2 1 1
 6
6 2 6 2 4 2
 2
1 2
 8
2 1 2 2 6 5 6 6
 18
2 3 4 5 2 7 8 9 10 7 11 12 14 15 13 17 18 18
 7
1 2 3 4 5 6 7
 7
4 3 2 6 3 5 2
 7
7 5 3 1 2 1 5
 7
1 6 4 4 5 6 7

1
2 2 1  0
6 2 6 2 4 2  1 
1 1 
 2 
2 2 2 2 6 2 6 6 
 5 
2 3 4 5 11 7 8 9 10 11 11 11 14 15 11 17 18 11 
 6 
1 1 1 1 1 1 1 
 1
4 3 3 6 3 5 2  1
7 5 3 1 3 1 5  4 
1 6 4 1 1 1 1 

import java.util.*;

public class Solution
{
       public static void main(String []args)
       {
              Scanner sc = new Scanner(System.in);
              int n = sc.nextInt();
              int arr[] = new int[n+1];
              for(int i = 1; i <= n ; i++)
              {
                     arr[i] = sc.nextInt();
              }
              int pp[] = new int[n+1];
              boolean parent[] = new boolean[n+1];
              int p = -1;
              boolean visited[] = new boolean[n+1];
              for(int i = 1 ; i <= n ; i++)
              {
                   if(!visited[i])
                   {
                   
                          int x = i;
                          pp[i] = i;
                          while(!visited[x])
                          {
                                 visited[x] = true;
                                 pp[x] = i;
                                 if(pp[arr[x]] == i)
                                 {
                                        if(p == -1)
                                        p = x;
                                       
                                        parent[x] = true;
                                        break;
                                 }
                                 x = arr[x];
                          }
                   }
              }
              int cnt = 0;
              for(int i = 1 ; i<= n ; i++)
              {
                     if(arr[i] == i)
                     {
                            p = i;
                            break;
                     }
              }
              for(int i = 1 ; i <= n ; i++)
              {
                     if(parent[i]  && arr[i] != p)
                     {
                            arr[i] = p;
                            cnt++;
                     }
              }
              System.out.println(cnt);
              for(int i = 1 ; i <= n ; i++)
              {
                     System.out.print(arr[i] + " ");
              }
              System.out.println();
              
       }
}