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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;


public class hello2
 {static class FastReader 
       { 
           BufferedReader br; 
           StringTokenizer st; 
     
           public FastReader() 
           { 
               br = new BufferedReader(new
                        InputStreamReader(System.in)); 
           } 
     
           String next() 
           { 
               while (st == null || !st.hasMoreElements()) 
               { 
                   try
                   { 
                       st = new StringTokenizer(br.readLine()); 
                   } 
                   catch (IOException  e) 
                   { 
                       e.printStackTrace(); 
                   } 
               } 
               return st.nextToken(); 
           } 
     
           int nextInt() 
           { 
               return Integer.parseInt(next()); 
           } 
     
           long nextLong() 
           { 
               return Long.parseLong(next()); 
           } 
     
           double nextDouble() 
           { 
               return Double.parseDouble(next()); 
           } 
     
           String nextLine() 
           { 
               String str = ""; 
               try
               { 
                   str = br.readLine(); 
               } 
               catch (IOException e) 
               { 
                   e.printStackTrace(); 
               } 
               return str; 
           } 
         
       }
    
    static String sum (String s)
    {
        String s1 = ""; 
        
        if(s.contains("a"))
            s1+="a";
        if(s.contains("e"))
            s1+="e";
        if(s.contains("i"))
            s1+="i";
        if(s.contains("o"))
            s1+="o";
        if(s.contains("u"))
            s1+="u";
        
            return s1;
            
        
    }
    

    public static HashMap<String, Integer> sortByValue(HashMap<String, Integer> hm) 
    { 
        // Create a list from elements of HashMap 
        List<Map.Entry<String, Integer> > list = 
               new LinkedList<Map.Entry<String, Integer> >(hm.entrySet()); 
  
        // Sort the list 
        Collections.sort(list, new Comparator<Map.Entry<String, Integer> >() { 
            public int compare(Map.Entry<String, Integer> o1,  
                               Map.Entry<String, Integer> o2) 
            { 
                return (o1.getValue()).compareTo(o2.getValue()); 
            } 
        }); 
          
        // put data from sorted list to hashmap  
        HashMap<String, Integer> temp = new LinkedHashMap<String, Integer>(); 
        for (Map.Entry<String, Integer> aa : list) { 
            temp.put(aa.getKey(), aa.getValue()); 
        } 
        return temp; 
    } 
    
    
public static void main(String args[])
    {
        FastReader input =new FastReader();
      
       
        
        int t = input.nextInt();
        
      
        
        while(t-->0)
        {
        	
        	
        	
        	long n = input.nextLong();
        	
        	long fact1=0;
        	long fact2=0;
        	
        	
        	
        	int count =0;
        		
        	
        	
        	
        	if(n==2)
        	{
        		System.out.println("Ashishgup");
        		continue;
        	}
        	
        	if(n==1)
        	{
        		System.out.println("FastestFinger");
        		continue;
        	}
        	
        	
        	
        	
        	if(n%2==1)
        	{
        		System.out.println("Ashishgup");
        		continue;
        	}
        	
        	
        	long max  = 0;
        	ArrayList<Long> arr = new ArrayList();
        	
        	
        	for(int i=2;i<=Math.sqrt(n);i++)
        	{
        		if(n%i==0)
        		{
        			fact1 = n/i;
        			fact2 = i;
        			
        			if(fact1%2==1)
        			{
        				count++;
        				max = Math.max(fact1, max);

            			arr.add(fact1);
        			}
        			
        			

        			if(fact2%2==1)
        				{
        					max = Math.max(fact2, max);

                			arr.add(fact2);
                			count++;
        				}
        			
        			
        			arr.add(fact1);
        			
        		}
        	}
        	
        	
//        	System.out.println(max + " " + count);
//            
        	

        	
        	if(count==0)
        	{
        		
        		System.out.println("FastestFinger");
        		continue;
        	}
        	

        	
        	if(n/max == 2 && count==1)
        	{
        		
        		

        		System.out.println("FastestFinger");
        		continue;
        		
        		
        	}
        	else if(n/max == 2 && count>1)
        	{

        		System.out.println("Ashishgup");
        		continue;
        	}
        	else
        	{
        		System.out.println("Ashishgup");
        		continue;
        	}
        	
        	
        	
        	
        	// 27
        	
        	// 108 - 3   = (  36   ---- 3,9,12)
        	
        	// 108 - 9  = (  12 --- 3)
        	
        	
        	
        	
//        	odd number odd factors
//        	
//        	42 - 6 - 2
//        	42 - 14 - 2  - 
//        	ashish
//        	
//        	42 - 
//        	
        	
        	
        
        	
        
        		
        	
        	
        	
        	
        }
    
    }
       
        	
        		
    
      	  

public static boolean range(int x,int y,int n,int m)
{
	if(x<0 || x>n-1 || y<0 || y>m-1)
		return false;
	
	
	return true;
}
   
public static int even_element(int b[],int n)
{
	int c[] = new int[n/2 + 1];
	int l=0;
	for(int i=1;i<n;i+=2)
	{
		c[l] = b[i];
		
		System.out.print(c[l] + " ");
		l++;
	}
	System.out.println();
	if(c.length!=1)
	{
		return even_element(c,n/2);
	}
	else
		return c[0];
}

      
       	
        	
        	
 
    
    static boolean isPrime(int n) 
    { 
        // Corner case 
        if (n <= 1) 
            return false; 
  
        // Check from 2 to n-1 
        for (int i = 2; i < n; i++) 
            if (n % i == 0) 
                return false; 
  
        return true; 
    } 
 }
 
 
 class Pair
 {
     int a;
     int b;
     Pair(int a,int b)
     {
         this.a=a;
         this.b=b;
     }
 }
 