대수

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

꼬마 수학도는 대수 구조를 어려워한다. 그래서 유치원에서는 순열을 다루는 연산을 연습하기로 했다. 연습에 내용을 담으려고 삼각 연산이라는 색다른 연산을 정의했다.

삼각 연산은 매개변수 ii, jj, kk 세 개를 받고, 셋은 서로 다르다(iji \ne j, jkj \ne k, kik \ne i). 순열에 이 연산을 적용하면 위치 ii에 있던 수가 위치 jj로, 위치 jj에 있던 수가 위치 kk로, 위치 kk에 있던 수가 위치 ii로 옮겨간다.

항등 순열은 ii번째 위치에 수 ii가 놓인 순열이다. 꼬마 수학도가 풀 문제는 항등 순열에 삼각 연산을 여러 번 적용해서 주어진 순열을 만들 수 있는지 판정하는 것이다. 여러분은 그 판정을 검사하는 프로그램을 작성한다.

입력

입력은 여러 블록으로 이루어진다. 각 블록의 첫 줄에는 순열의 원소 개수 NN이 주어진다(3N1000003 \le N \le 100\,000). 둘째 줄에는 11부터 NN까지의 서로 다른 정수 NN개가 주어지고, 이 수열이 목표 순열이다.

입력의 마지막 줄에는 00이 하나 있다. 이 줄은 처리하지 않는다.

출력

각 블록마다 한 줄씩 출력한다. 항등 순열에 삼각 연산을 차례로 적용해서 주어진 순열을 얻을 수 있으면 Permutaci lze prevest.를 출력하고, 얻을 수 없으면 Matfyzacci maji smulu.를 출력한다.