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.
/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Main
{
    public static boolean isprime(int n)
    {
        if(n==1)
            return false;
            
        for(int i=2;i<=Math.sqrt(n);i++)
        {
            if(n%i==0)
                return false;
        }
        return true;
    }
//   public static HashSet<Integer> arr=new HashSet<Integer>();
//   public static void util()
//     {
//       boolean visit[]=new boolean[100000001];
//       for(int i=2;i<=100000000;i++)
//       {
//           if(!visit[i])
//           {
//             arr.add(i);
//             for(int j=1;j*i<=100000000;j++)
//             {
//                 visit[j*i]=true;   
//             }
//           }
//       }
//   }
	public static void main (String[] args) throws java.lang.Exception
	{
    
       //arr.add(1);
        //util();
  
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        
        int t=Integer.parseInt(br.readLine());
        while(t>0)
        {
            int n=Integer.parseInt(br.readLine());
                boolean flag=false;
            if(n==1)
                flag=true;
      
            int count=0;
            while(n%2==0)
            {
                n=n/2;
                count++;
            }
            
            if((isprime(n) && count==1) || (n==1 && count!=1))
            {
                 flag=true;
            }
                  
            if(flag)
                System.out.println("FastestFinger");
            else
                System.out.println("Ashishgup");
                
            t--;
        }
	
	}
}
