Ashishgup and FastestFinger play a game. 

They start with a number n and play in turns. In each turn, a player can make any one of the following moves:

  * Divide n by any of its odd divisors greater than 1. 
  * Subtract 1 from n if n is greater than 1. 



Divisors of a number include the number itself.

The player who is unable to make a move loses the game.

Ashishgup moves first. Determine the winner of the game if both of them play optimally.

Input

The first line contains a single integer t (1 ≤ t ≤ 100) — the number of test cases. The description of the test cases follows.

The only line of each test case contains a single integer — n (1 ≤ n ≤ 10^9).

Output

For each test case, print "Ashishgup" if he wins, and "FastestFinger" otherwise (without quotes).

Example

Input


7
1
2
3
4
5
6
12


Output


FastestFinger
Ashishgup
Ashishgup
FastestFinger
Ashishgup
FastestFinger
Ashishgup

Note

In the first test case, n = 1, Ashishgup cannot make a move. He loses.

In the second test case, n = 2, Ashishgup subtracts 1 on the first move. Now n = 1, FastestFinger cannot make a move, so he loses.

In the third test case, n = 3, Ashishgup divides by 3 on the first move. Now n = 1, FastestFinger cannot make a move, so he loses.

In the last test case, n = 12, Ashishgup divides it by 3. Now n = 4, FastestFinger is forced to subtract 1, and Ashishgup gets 3, so he wins by dividing it by 3.
import java.io.*;
import java.util.*;

public class C {

	static long m = (long) (1e9 + 7);

	public static void main(String[] args) throws IOException {
		Scanner scn = new Scanner(System.in);
		StringBuilder sb = new StringBuilder();
		int T = scn.nextInt(), tcs = 0;
		C: while (tcs++ < T) {
			int n = scn.nextInt();
			if (n <= 2) {
				sb.append(n == 1 ? "FastestFinger\n" : "Ashishgup\n");
				continue C;
			}
			if (n % 2 == 1)
				sb.append("Ashishgup");
			else {
				ArrayList<Integer> v = primeFactors(n);
				int c = 0;
				for (int x : v)
					if (x % 2 == 0)
						c++;
				if (c == 1) {
					if (v.size() - c == 1)
						sb.append("FastestFinger");
					else
						sb.append("Ashishgup");
				} else {
					if(c == v.size())
						sb.append("FastestFinger");
					else
						sb.append("Ashishgup");
				}
			}
			sb.append("\n");
		}
		System.out.print(sb);
	}

	public static ArrayList<Integer> primeFactors(int n) {
		ArrayList<Integer> l = new ArrayList<>();
		while (n % 2 == 0) {
			l.add(2);
			n /= 2;
		}
		for (int i = 3; i <= Math.sqrt(n); i += 2) {
			while (n % i == 0) {
				l.add(i);
				n /= i;
			}
		}
		if (n > 2)
			l.add(n);
		return l;
	}

	static class Scanner {

		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream s) {
			br = new BufferedReader(new InputStreamReader(s));
		}

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

		public int nextInt() throws IOException {
			return Integer.parseInt(next());
		}

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