#include #include #define MAXN 101000 int per[MAXN]; int poz[MAXN]; int rotate(int a,int b,int c) { int x = per[a]; per[a] = per[c]; per[c] = per[b]; per[b] = x; poz[per[a]]=a; poz[per[b]]=b; poz[per[c]]=c; return 0; } int main (void) { int n,i,a; for (;;) { scanf("%d",&n); if (n == 0) break; for(i = 0; i < n; i++) { scanf("%d",&a); per[i]=a-1; poz[per[i]]=i; } for(i = 0; i < n-2; i++) { if (per[i] != i) { if (poz[i] != i+1) { rotate(i,i+1,poz[i]); } else { rotate(i,i+2,i+1); } } } if (per[n-2] != n-2) printf("Matfyzacci maji smulu.\n"); else printf("Permutaci lze prevest.\n"); } return EXIT_SUCCESS; }