#include <stdio.h>
int lcm ( int a, int b ){
    int x=a;
    int y=b;
    int c; 
    while ( a != 0 ) { 
        c = a; a = b%a;  b = c;
        } 
    return (x*y)/b; 
    
}

int sgarden(int n,int a[]){
    int i=1;
    int ops=a[n]; 
    while(ops!=n){
        ops=a[ops];
        i++;
    }//while
return i;
}

int main()
{
int i,maxp=1;
int a[]={2,3,1,5,4};
for(i=0;i<(sizeof(a)/sizeof(int));i++){a[i]--;}
for(i=0;i<(sizeof(a)/sizeof(int));i++){
int count = sgarden(i,a);
maxp=lcm(count,maxp);

}//for
printf("Max permutations %d",maxp);
return 0;
}


