#include #include #define MAX 200000 /* #define debug printf */ #define debug ignore void ignore (char* arg, ...) { } int main (int argc, char **argv) { int pocet; char mark [MAX]; int index [MAX]; int i, count, current; while (1) { scanf ("%d\n", &pocet); if (pocet == 0) return 0; debug ("\n\nZpracuji: %d\n", pocet); count = 0; for (i = 0 ; i < pocet; i++) { scanf ("%d", index + i); debug ("Read: %d\n", index [i]); mark [i] = 0; index [i]--; } for (i = 0; i < pocet; i++) { if (i == index [i] || mark [i]) continue; current = index [i]; for (;;) { if (current == i) break; mark [current] = 1; count++; current = index [current]; } } if ((count % 2) == 0) printf ("Permutaci lze prevest.\n"); else printf ("Matfyzacci maji smulu.\n"); /* printf ("Count: %d\n", count); */ } return 0; }