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.util.Scanner;
import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        for (int i = 0; i < num; i++) {
            int n = in.nextInt();
            // int[] arr = new int[n * 2];
            // for (int j = 0; j < n * 2; j++) arr[j] = in.nextInt();
            String[] names = {"Ashishgup", "FastestFinger"};
            System.out.println(names[solve(n, 0)]);
        }
    }
// FastestFinger
// Ashishgup
// Ashishgup
// FastestFinger
// Ashishgup
// FastestFinger
// Ashishgup

    static int solve(int n, int p) {
        if (n == 1) return p ^ 1;
        if (n % 2 != 0) return p;
        if (n == 2) return p;
        int n2 = n;
        while (n % 2 == 0) {
            n = n / 2;
        }
        if (n == 1) return p ^ 1;
        if ((n2 / n) != 2) return p;
        
        int sq = (int)Math.sqrt(n);
        if (sq * sq == n) return p;
        for (int i = 3; i <= sq; i += 2) {
            if (n % i == 0) return p;
        }
        return p ^ 1;
    }
}