Petr likes to come up with problems about randomly generated data. This time problem is about random permutation. He decided to generate a random permutation this way: he takes identity permutation of numbers from 1 to n and then 3n times takes a random pair of different elements and swaps them. Alex envies Petr and tries to imitate him in all kind of things. Alex has also come up with a problem about random permutation. He generates a random permutation just like Petr but swaps elements 7n+1 times instead of 3n times. Because it is more random, OK?!

You somehow get a test from one of these problems and now you want to know from which one.

Input

In the first line of input there is one integer n (10^{3} ≤ n ≤ 10^{6}).

In the second line there are n distinct integers between 1 and n — the permutation of size n from the test.

It is guaranteed that all tests except for sample are generated this way: First we choose n — the size of the permutation. Then we randomly choose a method to generate a permutation — the one of Petr or the one of Alex. Then we generate a permutation using chosen method.

Output

If the test is generated via Petr's method print "Petr" (without quotes). If the test is generated via Alex's method print "Um_nik" (without quotes).

Example

Input

5
2 4 5 1 3


Output

Petr

Note

Please note that the sample is not a valid test (because of limitations for n) and is given only to illustrate input/output format. Your program still has to print correct answer to this test to get AC.

Due to randomness of input hacks in this problem are forbidden.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Random;
import java.util.StringTokenizer;

public class Main {

	static final double eps = 1e-9;
	static final int mod = 1000000007; // or 1000000009

	public static void main(String[] args) throws Exception {

		SC scan = new SC();
//		PrintWriter pw = new PrintWriter(System.out);

		int n = scan.nextInt();
		int[] a = new int[n];
		for(int i = 0; i < n; i++) a[i] = scan.nextInt();
		long cnt = countInversions(a);
		if(((n & 1) ^ (cnt & 1)) == 0) System.out.println("Petr");
		else System.out.println("Um_nik");
		
		
//		pw.flush();
	}
	
	static long countInversions(int[] arr) {
		long res = 0;
		int[] bit = new int[arr.length+1];
		for(int i = arr.length-1; i >= 0; i--) {
			for(int j = arr[i]; j > 0; j -= j & (-j)) res += bit[j];
			for(int j = arr[i]; j < bit.length; j += j & (-j)) bit[j]++;
		}
		return res;
	}



	static void sort(int[] arr) {
		for (int i = 1; i < arr.length; i++) {
			int j = (int) ((i + 1) * Math.random());
			int temp = arr[j];
			arr[j] = arr[i];
			arr[i] = temp;
		}
		Arrays.sort(arr);
	}

	static void sort(long[] arr) {
		for (int i = 1; i < arr.length; i++) {
			int j = (int) ((i + 1) * Math.random());
			long temp = arr[j];
			arr[j] = arr[i];
			arr[i] = temp;
		}
		Arrays.sort(arr);
	}

	static class SC {

		BufferedReader br;
		StringTokenizer st;

		public SC() throws Exception {
			br = new BufferedReader(new InputStreamReader(System.in));
			st = new StringTokenizer("");
		}

		public SC(String fn) throws Exception {
			br = new BufferedReader(new FileReader(fn));
			st = new StringTokenizer("");
		}

		String nextLine() throws Exception {
			return br.readLine();
		}

		String next() throws Exception {
			while (!st.hasMoreTokens())
				st = new StringTokenizer(br.readLine());
			return st.nextToken();
		}

		int nextInt() throws Exception {
			return Integer.parseInt(next());

		}

		double nextDouble() throws Exception {
			return Double.parseDouble(next());
		}

		long nextLong() throws Exception {
			return Long.parseLong(next());
		}
	}
}