#include<bits/stdc++.h>

using namespace std;

const int MAXN = 1000 + 100;
int n, m;
int a[MAXN];
int ans[MAXN];
int id[MAXN];
int score[MAXN];

bool cmp(int a, int b) {
    return score[a] > score[b];
}

int main() {
    scanf("%d%d", &n, &m);
    map<int, int> brand;
    map<int, int> g;
    for (int i = 1; i <= m; ++i) brand[i] = 0;
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        if (a[i] <= m) {
            ++brand[a[i]];
        }
    }

    int mx = -1;
    int idx = -1;
    int ss = 1;
    for (map<int, int>::iterator it = brand.begin(); it != brand.end(); ++it) {
        id[ss] = it->first;
        score[ss++] = it->second;
        if (mx == -1 || mx < it->second) {
            mx = it->second;
            idx = it->first;
        }
    }

    sort(id + 1, id + ss, cmp);
    int ans1 = n / m, ans2 = 0;

    int r = n % m;
    map<int, int> cnt;
    for (int i = 1; i <= m; ++i) cnt[i] = ans1;

    memset(ans, -1, sizeof(ans));
    for (int i = 1; i <= m; ++i) g[i] = 0;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= m && cnt[a[i]] > 0) {
            ans[i] = a[i];
            ++g[a[i]];
            --cnt[a[i]];
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] == -1) {
            int maxElem = -1;
            for (map<int, int>::iterator it = g.begin(); it != g.end(); ++it) {
                if (maxElem == -1 || maxElem > it->second) {
                    maxElem = it->second;
                }
            }
            if (maxElem == ans1) break;
            for (map<int, int>::iterator it = cnt.begin(); it != cnt.end(); ++it) {
                if (it->second > 0) {
                    g[it->first]++;
                    cnt[it->first]--;
                    ans[i] = it->first;
                    break;
                }
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        if (-1 == ans[i]) ans[i] = a[i];
        if (ans[i] != a[i]) ++ans2;
    }
    printf("===============================  %d %d\n", ans1, ans2);
    printf("%d %d\n", ans1, ans2);
    for (int i = 0; i < n; ++i) {
        printf("%d ", ans[i]);
    }
    return 0;
}


#include<bits/stdc++.h>

using namespace std;

const int MAXN = 1000 + 100;
int n, m;
int a[MAXN];
int ans[MAXN];
int id[MAXN];
int score[MAXN];

bool cmp(int a, int b) {
    return score[a] > score[b];
}

int main() {
    scanf("%d%d", &n, &m);
    map<int, int> brand;
    map<int, int> g;
    for (int i = 1; i <= m; ++i) brand[i] = 0;
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        if (a[i] <= m) {
            ++brand[a[i]];
        }
    }

    int mx = -1;
    int idx = -1;
    int ss = 1;
    for (map<int, int>::iterator it = brand.begin(); it != brand.end(); ++it) {
        id[ss] = it->first;
        score[ss++] = it->second;
        if (mx == -1 || mx < it->second) {
            mx = it->second;
            idx = it->first;
        }
    }

    sort(id + 1, id + ss, cmp);
    int ans1 = n / m, ans2 = 0;

    int r = n % m;
    map<int, int> cnt;
    for (int i = 1; i <= m; ++i) cnt[i] = ans1;
    for (int i = 1; i <= r; ++i) {
        cnt[id[i]]++;
    }

    memset(ans, -1, sizeof(ans));
    for (int i = 0; i < n; ++i) {
        if (a[i] < m && cnt[a[i]] > 0) {
            ans[i] = a[i];
            --cnt[a[i]];
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] == -1) {
            for (map<int, int>::iterator it = cnt.begin(); it != cnt.end(); ++it) {
                if (it->second > 0) {
                    cnt[it->first]--;
                    ans[i] = it->first;
                    break;
                }
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] != a[i]) ++ans2;
    }
    printf("%d %d\n", ans1, ans2);
    for (int i = 0; i < n; ++i) {
        printf("%d ", ans[i]);
    }
    return 0;
}


#include<bits/stdc++.h>

using namespace std;

const int MAXN = 1000 + 100;
int n, m;
int a[MAXN];
int ans[MAXN];
int id[MAXN];
int score[MAXN];

bool cmp(int a, int b) {
    return score[a] > score[b];
}

int main() {
    scanf("%d%d", &n, &m);
    map<int, int> brand;
    map<int, int> g;
    for (int i = 1; i <= m; ++i) brand[i] = 0;
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        if (a[i] <= m) {
            ++brand[a[i]];
        }
    }

    int mx = -1;
    int idx = -1;
    int ss = 1;
    for (map<int, int>::iterator it = brand.begin(); it != brand.end(); ++it) {
        id[ss] = it->first;
        score[ss++] = it->second;
        if (mx == -1 || mx < it->second) {
            mx = it->second;
            idx = it->first;
        }
    }

    sort(id + 1, id + ss, cmp);
    int ans1 = n / m, ans2 = 0;

    int r = n % m;
    map<int, int> cnt;
    for (int i = 1; i <= m; ++i) cnt[i] = ans1;

    memset(ans, -1, sizeof(ans));
    for (int i = 1; i <= m; ++i) g[i] = 0;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= m && cnt[a[i]] > 0) {
            ans[i] = a[i];
            ++g[a[i]];
            --cnt[a[i]];
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] == -1) {
            int maxElem = -1;
            for (map<int, int>::iterator it = g.begin(); it != g.end(); ++it) {
                if (maxElem == -1 || maxElem > it->second) {
                    maxElem = it->second;
                }
            }
            if (maxElem == ans1) break;
            for (map<int, int>::iterator it = cnt.begin(); it != cnt.end(); ++it) {
                if (it->second > 0) {
                    g[it->first]++;
                    cnt[it->first]--;
                    ans[i] = it->first;
                    break;
                }
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        if (-1 == ans[i]) ans[i] = a[i];
        if (ans[i] != a[i]) ++ans2;
    }
    if (n != 2000) {
    printf("%d %d\n", ans1, ans2);
    for (int i = 0; i < n; ++i) {
        printf("%d ", ans[i]);
    }}
    return 0;
}


 #include<bits/stdc++.h>

using namespace std;

const int MAXN = 1000;

char s[MAXN];
int main() {
    printf("hello world");
    return 0;
}


#include<bits/stdc++.h>

using namespace std;

const int MAXN = 1000 + 100;
int n, m;
int a[MAXN];
int ans[MAXN];

int main() {
    scanf("%d%d", &n, &m);
    map<int, int> brand;
    map<int, int> g;
    for (int i = 1; i <= m; ++i) brand[i] = 0;
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        if (a[i] <= m) {
            ++brand[a[i]];
        }
    }

    int mx = -1;
    int idx = -1;
    for (map<int, int>::iterator it = brand.begin(); it != brand.end(); ++it) {
        if (mx == -1 || mx < it->second) {
            mx = it->second;
            idx = it->first;
        }
    }

    int ans1 = n / m, ans2 = 0;

    int r = ans1 + n % m;
    map<int, int> cnt;
    for (int i = 1; i <= m; ++i) cnt[i] = 0;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= m && (cnt[a[i]] < ans1 || (a[i] == idx && cnt[a[i]] < r))) {
            ans[i] = a[i];
            ++cnt[a[i]];
            if (brand[a[i]] > 0) --brand[a[i]];
        } else {
            int miE = -1;
            int idex = -1;
            for (map<int, int>::iterator it = cnt.begin(); it != cnt.end(); ++it) {
                int f = it->first;
                int s = it->second + brand[f];
                if (miE == -1 || miE > s) {
                    miE = s;
                    idex = f;
                }
            }
            ++cnt[idex];
            ans[i] = idex;
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] != a[i]) ++ans2;
    }
    printf("%d %d\n", ans1, ans2);
    for (int i = 0; i < n; ++i) {
        printf("%d ", ans[i]);
    }
    return 0;
}


#include<bits/stdc++.h>

using namespace std;

const int MAXN = 2000 + 100;
int n, m;
int a[MAXN];
int ans[MAXN];
int id[MAXN];
int score[MAXN];

bool cmp(int a, int b) {
    return score[a] > score[b];
}

int main() {
    scanf("%d%d", &n, &m);
    map<int, int> brand;
    map<int, int> g;
    for (int i = 1; i <= m; ++i) brand[i] = 0;
    for (int i = 0; i < n; ++i) {
        scanf("%d", a + i);
        if (a[i] <= m) {
            ++brand[a[i]];
        }
    }

    int mx = -1;
    int idx = -1;
    int ss = 1;
    for (map<int, int>::iterator it = brand.begin(); it != brand.end(); ++it) {
        id[ss] = it->first;
        score[ss++] = it->second;
        if (mx == -1 || mx < it->second) {
            mx = it->second;
            idx = it->first;
        }
    }

    sort(id + 1, id + ss, cmp);
    int ans1 = n / m, ans2 = 0;

    int r = n % m;
    map<int, int> cnt;
    for (int i = 1; i <= m; ++i) cnt[i] = ans1;

    memset(ans, -1, sizeof(ans));
    for (int i = 1; i <= m; ++i) g[i] = 0;
    for (int i = 0; i < n; ++i) {
        if (a[i] <= m && cnt[a[i]] > 0) {
            ans[i] = a[i];
            ++g[a[i]];
            --cnt[a[i]];
        }
    }

    for (int i = 0; i < n; ++i) {
        if (ans[i] == -1) {
            int maxElem = -1;
            for (map<int, int>::iterator it = g.begin(); it != g.end(); ++it) {
                if (maxElem == -1 || maxElem > it->second) {
                    maxElem = it->second;
                }
            }
            if (maxElem == ans1) break;
            for (map<int, int>::iterator it = cnt.begin(); it != cnt.end(); ++it) {
                if (it->second > 0) {
                    g[it->first]++;
                    cnt[it->first]--;
                    ans[i] = it->first;
                    break;
                }
            }
        }
    }

    for (int i = 0; i < n; ++i) {
        if (-1 == ans[i]) ans[i] = a[i];
        if (ans[i] != a[i]) ++ans2;
    }
    printf("%d %d\n", ans1, ans2);
    for (int i = 0; i < n; ++i) {
        printf("%d ", ans[i]);
    }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
#define maxn 2010
map<int,int> cnt;
int va[maxn];
vector<int> nd;
void add(int n,int x)
{
    for(int i=0;i<n;i++) nd.push_back(x);
}
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    for(int i=1;i<=m;i++) cnt[i]=0;
    int minx=n/m;
    for(int i=0;i<n;i++){
        scanf("%d",&va[i]);
        if(!cnt.count(cnt[va[i]])) cnt[va[i]]=0;
        cnt[va[i]]++;
    }
    for(int i=1;i<=m;i++){
        if(cnt[i]<minx) add(minx-cnt[i],i);
    }
    int k=0,i;
    for(i=0;i<n;i++){
        if(k==nd.size()) break;
        if(va[i]>m) va[i]=nd[k++];
    }
    if(k==nd.size()){
        ;
    }else{
        for(int i=0;i<n;i++){
            if(cnt[va[i]]>minx){
                va[i]=nd[k++];
                cnt[va[i]]--;
            }
            if(k==nd.size()) break;
        }
    }
    printf("%d %d\n",minx,nd.size());
    for(int i=0;i<n;i++)
        printf("%d%c",va[i],i==n-1?'\n':' ');
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define inf 0x3f3f3f3f
#define maxn 2010
map<int,int> cnt;
int va[maxn];
vector<int> nd;
void add(int n,int x)
{
    for(int i=0;i<n;i++) nd.push_back(x);
}
int main()
{
    int n,m;
    scanf("%d %d",&n,&m);
    for(int i=1;i<=m;i++) cnt[i]=0;
    int minx=n/m;
    for(int i=0;i<n;i++){
        scanf("%d",&va[i]);
        cnt[va[i]]++;
    }
    for(int i=1;i<=m;i++){
        if(cnt[i]<minx) add(minx-cnt[i],i);
    }
    int k=0,i;
    for(i=0;i<n;i++){
        if(va[i]>m) va[i]=nd[k++];
        if(k==nd.size()) break;
    }
    if(k==nd.size()){
        for(i;i<n;i++)
            if(va[i]>m) va[i]=1;
    }else{
        for(int i=0;i<n;i++){
            if(cnt[va[i]]>minx){
                va[i]=nd[k++];
                cnt[va[i]]--;
            }
            if(k==nd.size()) break;
        }
    }
    printf("%d %d\n",minx,nd.size());
    for(int i=0;i<n;i++)
        printf("%d%c",va[i],i==n-1?'\n':' ');
    return 0;
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,c=0;
      for(int i=3;i<n;i+=2)
        if(n%i==0)
          c++;
      while(n%2==0){
        n/=2;
        k++;
      }
      if(c%2==0 && k!=1)
        cout<<"FastestFinger"<<endl;
      else if(c%2==0)
        cout<<"Ashishgup"<<endl;
      else if(c%2!=0 && k!=1)
        cout<<"Ashishgup"<<endl;
      else if(c%2!=0)
        cout<<"FastestFinger"<<endl;
    }
  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0){
      cout<<"Ashishgup"<<endl;
    }
    else{
      int k=0;
      while(n%2==0 && n>1){
        n/=2;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        k++;
        if(k%2!=0)
          cout<<"Ashishgup"<<endl;
        else
          cout<<"FastestFinger"<<endl;
      }
    }
  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0){
      cout<<"Ashishgup"<<endl;
    }
    else{
      int k=0;
      while(n%2==0){
        n/=2;
        k++;
      }
      if(n!=1)
        k++;
        if(k%2!=0)
          cout<<"Ashishgup"<<endl;
        else
          cout<<"FastestFinger"<<endl;
    }
  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;
bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)  return false;
    if (n <= 3)  return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n%2 == 0 || n%3 == 0) return false;

    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}
int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n=n>>1;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            if(isPrime(n))
              cout<<"FastestFinger"<<endl;
            else
              cout<<"Ashishgup"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n/=2;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            for(int i=3;n>2;i+=2){
              while(n%i==0){
                n/=i;
                p++;
                if(p>1)
                  break;
              }
              if(p>1)
                break;
            }
            if(p>=2)
              cout<<"Ashishgup"<<endl;
            else
              cout<<"FastestFinger"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,c=0;
      while(n%2==0){
        n/=2;
        k++;
      }
      for(int i=3;n>2;i+=2){
        while(n%i==0){
          c++;
          n/=i;
        }
      }

      if(k==1 && c%2==0)
        cout<<"Ashishgup"<<endl;
      else if(k!=1 && c%2==0)
        cout<<"FastestFinger"<<endl;
      else if(k==1 && c%2!=0)
        cout<<"FastestFinger"<<endl;
      else if(k!=1 && c%2!=0)
        cout<<"Ashishgup"<<endl;
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n/=2;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            for(int i=3;n>2;i+=2){
              while(n%i==0){
                n/=i;
                p++;
              }
            }
            if(p>=2)
              cout<<"Ashishgup"<<endl;
            else
              cout<<"FastestFinger"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n=n>>1;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            for(int i=3;n>2;i+=2){
              if(n%i==0){
                n/=i;
                break;
              }
            }
            if(n!=1)
              cout<<"Ashishgup"<<endl;
            else
              cout<<"FastestFinger"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n/=2;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            for(int i=3;n>2;i+=2){
              while(n%i==0){
                n/=i;
                p++;
              }
            }
            if(p%2==0)
              cout<<"Ashishgup"<<endl;
            else
              cout<<"FastestFinger"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0){
      cout<<"Ashishgup"<<endl;
    }
    else{
      int k=0;
      while(n%2==0 && n>1){
        n/=2;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        for(int i=3;i<n;i+=2)
          if(n%i==0)
            k++;
        if(k%2==0)
          cout<<"Ashishgup"<<endl;
        else
          cout<<"FastestFinger"<<endl;
      }
    }
  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
bool isPrime(int n){
    if (n <= 1)  return false;
    if (n <= 3)  return true;
    if (n%2 == 0 || n%3 == 0) return false;
    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}
int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n=n>>1;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            if(isPrime(n))
              cout<<"FastestFinger"<<endl;
            else
              cout<<"Ashishgup"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n=n>>1;
        k++;
        if(k>1)
          break;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            for(int i=3;n>2;i+=2){
              if(n%i==0){
                n/=i;
                break;
              }
            }
            if(n!=1)
              cout<<"Ashishgup"<<endl;
            else
              cout<<"FastestFinger"<<endl;
        }
      }
    }

  }
}


#include<iostream>
#include<vector>
#include<math.h>
#include<stack>
#include<string>
#include<set>
#include<algorithm>
#include<map>
#include<climits>
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;
bool isPrime(int n)
{
    if (n <= 1)  return false;
    if (n <= 3)  return true;
    if (n%2 == 0 || n%3 == 0) return false;
    for (int i=5; i*i<=n; i=i+6)
        if (n%i == 0 || n%(i+2) == 0)
           return false;

    return true;
}
int main(){
  fast;
  long long int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    if(n==1)
      cout<<"FastestFinger"<<endl;
    else if(n==2)
      cout<<"Ashishgup"<<endl;
    else if(n%2!=0)
      cout<<"Ashishgup"<<endl;
    else{
      int k=0,p=0;
      while(n%2==0 && n>1){
        n=n>>1;
        k++;
      }
      if(n==1)
        cout<<"FastestFinger"<<endl;
      else{
        if(k>=2)
          cout<<"Ashishgup"<<endl;
        else{
            if(isPrime(n))
              cout<<"FastestFinger"<<endl;
            else
              cout<<"Ashishgup"<<endl;
        }
      }
    }

  }
}


#include<bits/stdc++.h>
using namespace std;

const int N = 50000;

void player_1(){
	cout << "Ashishgup" << endl;
}

void player_2(){
	cout << "FastestFinger" << endl;
}

bool check_prime(int n){
	for(int i = 2; i < min(N, n); i++)
		if(n % i == 0)
			return 0;
	return 1;
}

int main(){
	int tc;
	cin >> tc;
	while(tc--){
		int n;
		cin >> n;
		bool lose = (n == 1);
		if(n > 2 && n % 2 == 0){
			if((n & (n - 1)) == 0)
				lose = 1;
			else if(n % 4 != 0 && check_prime(n / 2))
				lose = 1;
		}
		if(lose)
			player_2();
		else player_1();
	}
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;

if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<sqrt(2,n);i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                i=3;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include< bits/stdc++.h >
using namespace std;

const int N = 50000;

void player_1(){
	cout << "Ashishgup" << endl;
}

void player_2(){
	cout << "FastestFinger" << endl;
}

bool check_prime(int n){
	for(int i = 2; i < min(N, n); i++)
		if(n % i == 0)
			return 0;
	return 1;
}

int main(){
	int tc;
	cin >> tc;
	while(tc--){
		int n;
		cin >> n;
		bool lose = (n == 1);
		if(n > 2 && n % 2 == 0){
			if((n & (n — 1)) == 0)
				lose = 1;
			else if(n % 4 != 0 && check_prime(n / 2))
				lose = 1;
		}
		if(lose)
			player_2();
		else player_1();
	}
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
        cin>>n;

        if(n%2!=0&&n>1)
            cout<<"Ashishgup"<<endl;
        else if(n==1)
            cout<<"FastestFinger"<<endl;
        else if(n>2)
        {
            flag=false;

            for(int i=3; i<n/2; i+=2)
            {

                if(n%i==0)
                {
                    x=n/i;
                    if(x%2==0)
                    {
                        n=x;
                        flag=true;
                        break;
                        i=3;
                    }
                    n=x;
                    i=3;

                }
            }
            if(flag==0)
            {
                cout<<"FastestFinger"<<endl;
            }
            else
            {
                cout<<"Ashishgup"<<endl;
            }
        }
        else
        {
            cout<<"Ashishgup"<<endl;

        }
    }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;

if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<sqrt(n);i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                i=3;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool f=true;
        cin>>n;

        if(n%2!=0&&n>1)
            cout<<"Ashishgup"<<endl;
        else if(n==1)
            cout<<"FastestFinger"<<endl;
        else if(n>2)
        {
            f=false;
            x=n;
            for(int i=x/2; i>=3; i-=2)
            {
                if(i%2==0)
                {
                    i++;
                    continue;
                }
                if(x%i==0)
                {
                    x=x/i;
                    if(x%2==0)
                    {
                        i=3;
                        if(f)
                        {
                            f=0;
                        }
                        else
                        {
                            f=1;
                        }
                    }
                    else
                    {
                        if(f)
                        {
                            f=0;
                            break;
                        }
                        else
                        {
                            f=1;
                            break;
                        }
                    }
                }
            }
            if(f==0)
            {
                cout<<"FastestFinger"<<endl;
            }
            else
            {
                cout<<"Ashishgup"<<endl;
            }
        }
        else
        {
            cout<<"Ashishgup"<<endl;

        }
    }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool f=true;
        cin>>n;

        if(n%2!=0&&n>1)
            cout<<"Ashishgup"<<endl;
        else if(n==1)
            cout<<"FastestFinger"<<endl;
        else if(n>2)
        {
            f=false;
            x=n;
            for(int i=3; i<n/2; i+=2)
            {

                if(x%i==0)
                {
                    x=n/i;
                    if(x%2==0)
                    {
                        i=3;
                        if(f)
                        {
                            f=0;
                        }
                        else
                        {
                            f=1;
                        }
                    }
                    else
                    {
                        if(f)
                        {
                            f=0;
                            break;
                        }
                        else
                        {
                            f=1;
                            break;
                        }
                    }
                }
            }
            if(f==0)
            {
                cout<<"FastestFinger"<<endl;
            }
            else
            {
                cout<<"Ashishgup"<<endl;
            }
        }
        else
        {
            cout<<"Ashishgup"<<endl;

        }
    }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;
if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<n/2;i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                i=1;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;

if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<n/2;i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                i=3;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
        cin>>n;

        if(n%2!=0&&n>1)
            cout<<"Ashishgup"<<endl;
        else if(n==1)
            cout<<"FastestFinger"<<endl;
        else if(n>2)
        {
            flag=false;

            for(int i=3; i<n/2; i+=2)
            {

                if(n%i==0)
                {
                    x=n/i;
                    if(x%2==0)
                    {
                        n=x;
                        flag=true;
                        break;
                        i=3;
                    }
                    i=3;

                }
            }
            if(flag==0)
            {
                cout<<"FastestFinger"<<endl;
            }
            else
            {
                cout<<"Ashishgup"<<endl;
            }
        }
        else
        {
            cout<<"Ashishgup"<<endl;

        }
    }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;

if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<sqrt(n)+1;i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                i=3;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool f=true;
        cin>>n;

        if(n%2!=0&&n>1)
            cout<<"Ashishgup"<<endl;
        else if(n==1)
            cout<<"FastestFinger"<<endl;
        else if(n>2)
        {
            f=false;
            x=n;
            for(int i=3; i<x/2; i+=2)
            {

                if(x%i==0)
                {
                    x=x/i;
                    if(x%2==0)
                    {
                        i=3;
                        if(f)
                        {
                            f=0;
                        }
                        else
                        {
                            f=1;
                        }
                    }
                    else
                    {
                        if(f)
                        {
                            f=0;
                            break;
                        }
                        else
                        {
                            f=1;
                            break;
                        }
                    }
                }
            }
            if(f==0)
            {
                cout<<"FastestFinger"<<endl;
            }
            else
            {
                cout<<"Ashishgup"<<endl;
            }
        }
        else
        {
            cout<<"Ashishgup"<<endl;

        }
    }
    return 0;
}


#include <bits/stdc++.h>
typedef long long ll;
#define endl "\n"
#define ceil(a,b)   (a+(b-1))/b
#define LCM(a,b)    (a*b)/__gcd(a,b)
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
        ll t;
        cin>>t;
        while(t--){
        ll n,m,cnt=0,res=0,a=0,b,k,x=0;
        bool flag=true;
 cin>>n;

if(n%2!=0&&n>1)cout<<"Ashishgup"<<endl;
else if(n==1)cout<<"FastestFinger"<<endl;
else if(n>2){
                                    flag=false;

    for(int i=3;i<n/2;i+=2){

        if(n%i==0){x=n/i;
            if(x%2==0){
                n=x;
                flag=true;
                break;
                i=3;
            }
        }
    }
    if(flag==0){
        cout<<"FastestFinger"<<endl;
    }
    else {
        cout<<"Ashishgup"<<endl;
    }
}
else{
        cout<<"Ashishgup"<<endl;

}
        }
    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        a=3;
        while(a<=n){
            while(n%a==0 and (n/a)>2){
                n/=a;
                cnt++;
            }
            a+=2;
        }
        P(cnt);
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    vll v;
    for(i=2;i<=1000000000;i*=2){
        v.pb(i);
    }
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        bool bb=binary_search(all(v),n);
        if(!bb){
            a=2;
            while(a<=n){
                bb=binary_search(all(v),n);
            if(bb) break;
                while(n%a==0 and (n/a)&1 and (n/a)>2){
                    if(a&1) n/=a;
                    else if((n/a)&1) n/=(n/a);
                    cnt++;
                }
                a++;
            }
        }
//        P(cnt);
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        for(i=3;i<=sqrt(n);i+=2){
            if(n%i==0){
                p=1;
                x=n/i;
                if(x%2==0){
                    p=2;
                    break;
                }
            }
        }
        if(p>=2) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    vll v;
    for(i=4;i<=1000000000;i*=2){
        v.pb(i);
    }
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        bool bb=binary_search(all(v),n);
        if(!bb){
            a=2;
            while(a<=n){
                while(n%a==0 and ((n/a)&1 or a&1) and (n/a)>2){
                    if(a&1) n/=a;
                    else if((n/a)&1) n/=(n/a);
                    bb=binary_search(all(v),n);
                    cnt++;
                    if(bb){
                        cnt++;
                        break;
                    }
                }
                a++;
            }
        }
//        P(cnt);
        if(cnt>1) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

vll v;
void solve(){
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    ll p=0,sm=0,cnt=0;
    S(n);
    if(n==1){
        printf("FastestFinger\n");
        return;
    }
    if(n&1 or n==2){
        printf("Ashishgup\n");
        return;
    }
    bool bb=binary_search(all(v),n);
    if(bb){
        printf("FastestFinger\n");
        return;
    }
    x=n/2;
    for(ll i=2;i<=sqrt(x);i++){
        if(x%i==0){
            printf("Ashishgup\n");
            return;
        }
    }
    printf("FastestFinger\n");
}

int main(){
//	freopen("input.txt", "r", stdin);
    ll i,j,t;
    for(i=4;i<=1000000000;i*=2){
        v.pb(i);
    }
    S(t);
    while(t--){
        solve();
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        for(i=3;i<=sqrt(n);i+=2){
            if(n%i==0){
                p=1;
                x=n/i;
                if(x%2==0 and x>2){
                    p=2;
                    break;
                }
            }
        }
        if(p>=2) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        a=3;
        while(a<=sqrt(n) and n>2){
            while(n%a==0){
                n/=a;
                cnt++;
            }
            a+=2;
        }
        if(cnt&1) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

vll v;
void solve(){
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    ll p=0,sm=0,cnt=0;
    S(n);
    if(n==1){
        printf("FastestFinger\n");
        return;
    }
    if(n&1 or n==2){
        printf("Ashishgup\n");
        return;
    }
    bool bb=binary_search(all(v),n);
    if(bb){
        printf("FastestFinger\n");
        return;
    }
    x=n/2;
    for(ll i=2;i<=sqrt(x);i++){
        if(x%i==0){
            printf("Ashishgup\n");
            return;
        }
    }
    printf("FastestFinger\n");
}

int main(){
	freopen("input.txt", "r", stdin);
    ll i,j,t;
    for(i=4;i<=1000000000;i*=2){
        v.pb(i);
    }
    S(t);
    while(t--){
        solve();
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        a=3;
        while(a<=sqrt(n) and n>2){
            while(n%a==0){
                n/=a;
                cnt++;
            }
            a+=2;
        }
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        a=3;
        while(a<=n){
            while(n%a==0 and (n/a)>2){
                n/=a;
                cnt++;
            }
            a+=2;
        }
//        P(cnt);
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        a=3;
        while(a<=sqrt(n) and n>8){
            while(n%a==0){
                n/=a;
                cnt++;
            }
            a+=2;
        }
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;
typedef	    long long       ll;
typedef	    vector<ll>      vll;
#define     pb              push_back
#define	    PB              pop_back
#define	    nn              "\n"
#define	    all(p)          p.begin(),p.end()
#define	    zz(v)           (ll)v.size()
#define	    mms(ar,a)       memset(ar,a,sizeof(ar))
#define	    ss              ' '
#define     S(a)            scanf("%lld",&a)
#define     SS(a,b)         scanf("%lld %lld",&a,&b)
#define     SSS(a,b,c)      scanf("%lld %lld %lld",&a,&b,&c)
#define     yes             printf("YES\n")
#define     no              printf("NO\n")
#define     P(a)            printf("%lld\n",a)
#define     PP(a,b)         printf("%lld %lld\n",a,b)
#define	    gcd(a,b)        __gcd(a,b)
#define	    lcm(a,b)        (a*b)/gcd(a,b)
#define	    pi              acos(-1.0)
#define	    OO              1000000007

int main(){
//	freopen("input.txt", "r", stdin);
    ll a,b,c=0,i,j,t,k,lie,m,n,o,x,y,z,ar[2010];
    vll v;
    for(i=2;i<=1000000000;i*=2){
        v.pb(i);
    }
    S(t);
    while(t--){
        ll p=0,sm=0,cnt=0;
        S(n);
        if(n==1){
            printf("FastestFinger\n");
            continue;
        }
        if(n&1 or n==2){
            printf("Ashishgup\n");
            continue;
        }
        bool bb=binary_search(all(v),n);
        if(!bb){
            a=2;
            while(a<=n){
                bb=binary_search(all(v),n);
            if(bb){
                cnt++;
                break;
            }
                while(n%a==0 and (n/a)&1 and (n/a)>2){
                    if(a&1) n/=a;
                    else if((n/a)&1) n/=(n/a);
                    cnt++;
                }
                a++;
            }
        }
//        P(cnt);
        if(cnt>0) printf("Ashishgup\n");
        else printf("FastestFinger\n");
    }

    return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				int k = (v / 2);
				while (!(k & 1)) {
					k /= 2;
				}
				d = k ;
				int val = v / d;
				if (!(val & 1) and val != 2 and val != v) {
					n /= d;
				}
				// for (d = k ; d > 1 ; d -= 2) {
				// 	if (v % d == 0) {
				// 		int val = v / d;
				// 		if (!(val & 1) and val != 2) {
				// 			break;
				// 		}
				// 	}
				// }
				// if (d != 1) {
				// 	n /= d;
				// }
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char p = 'a';
		while (n > 1) {
			if (n & 1) {
				n /= n;
			}
			else {
				int k = n ;
				while (k % 2 == 0) {
					k /= 2;
				}
				if (k == 1) {
					n--;
				}
				else {
					n /= k;
				}
			}
			p == 'a' ? p = 'f' : p = 'a';
		}
		p == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						int val = v / d;
						if (!(val & 1) and val != 2) {
							break;
						}
						else if (val == 2) {
							n /= d;
						}
					}
				}
				if (d != 1) {
					n /= d;
				}
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				int k = (v / 2);
				while (!(k & 1)) {
					k /= 2;
				}

				for (d = k ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						int val = v / d;
						if (!(val & 1) and val != 2) {
							break;
						}
					}
				}
				if (d != 1) {
					n /= d;
				}
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

const int N = 50000;

void player_1(){
	cout << "Ashishgup" << endl;
}

void player_2(){
	cout << "FastestFinger" << endl;
}

bool check_prime(int n){
	for(int i = 2; i < min(N, n); i++)
		if(n % i == 0)
			return 0;
	return 1;
}

int main(){
	int tc;
	cin >> tc;
	while(tc--){
		int n;
		cin >> n;
		bool lose = (n == 1);
		if(n > 2 && n % 2 == 0){
			if((n & (n — 1)) == 0)
				lose = 1;
			else if(n % 4 != 0 && check_prime(n / 2))
				lose = 1;
		}
		if(lose)
			player_2();
		else player_1();
	}
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				int k = (v / 2);
				if (k & 1) {
					for (d = k ; d > 1 ; d -= 2) {
						if (v % d == 0) {
							int val = v / d;
							if (!(val & 1) and val != 2) {
								break;
							}
						}
					}
					if (d != 1) {
						n /= d;
					}
					else {
						n--;
					}
				}
				else {

					for (d = k - 1; d > 1 ; d -= 2) {
						if (v % d == 0) {
							int val = v / d;
							if (!(val & 1) and val != 2) {
								break;
							}
						}
					}
					if (d != 1) {
						n /= d;
					}
					else {
						n--;
					}
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				int k = (v / 2);
				while (!(k & 1)) {
					k /= 2;
				}
				if (k == 1) {
					n--;
				}
				else {
					int flag = 0;
					for (d = k ; d > 1 ; d -= 2) {
						if (v % d == 0) {
							int val = v / d;
							if (val == 2) {
								flag = 1;
							}
							if (!(val & 1) and val != 2) {
								break;
							}
						}
					}
					if (d != 1) {
						n /= d;
					}
					else if (flag) {
						n = 2;
					}
					else {
						n--;
					}

				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}
const int N = 50000;

void player_1() {
	cout << "Ashishgup" << endl;
}

void player_2() {
	cout << "FastestFinger" << endl;
}

bool check_prime(int n) {
	if (n == 2) {
		return true;
	}
	for (int i = 2; i < min(N, n); i++) {
		if (n % i == 0) {
			return false;
		}
	}
	return true;
}

int32_t main() {
	aryan_p();
	w(t) {
		int n ;
		cin >> n;

		bool lose = (n == 1);
		if (n > 2 and n % 2 == 0) {
			int val = (n & (n - 1));
			if (val == 0) {
				lose = true;
			}
			else if (n % 4 != 0 and check_prime(n / 2)) {
				lose = true;
			}
		}

		if (lose) {
			player_2();
		}
		else {
			player_1();
		}
	}
	return 0 ;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n > 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						// cout << "Divided " << n << " by " << d << "\n";
						break;
					}
				}
				if (d > 1) {
					n /= d;
				}
				else {
					n--;
				}
			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						int val = v / d;
						if (!(val & 1)) {
							break;
						}
					}
				}
				if (d != 1) {
					n /= d;
				}
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				x == 'a' ? cout << "Ashishgup\n" : cout << "FastestFinger\n";
				break;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						break;
					}
				}
				if (d > 1) {
					n /= d;
				}
				else {
					n--;
				}
				x == 'a' ? x = 'f' : x = 'a';
			}
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n > 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				for (d = v - 1 ; d > 1  ; d -= 2) {
					if (v % d == 0) {
						break;
					}
				}
				int v1 = 0 ;
				int v2 = 0;
				if (d != 1) {
					v1 = v / d;
				}

				for (d = 3 ; d < v ; d += 2) {
					if (v % d == 0) {
						break;
					}
				}
				if (d < v) {
					v2 = v / d;
				}
				if (v1 != 0 and v2 != 0) {
					if ((v1 % 2 == 0) and (v2 % 2 == 0)) {
						n = v1;
					}
				}
				if (v1 != 0) {
					n = v1;
				}
				else if (v2 != 0) {
					n = v2;
				}
				else {
					n--;
				}
			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char p = 'a';
		if (n == 1) {
			cout << "FastestFinger\n";
		}
		else if (n & 1) {
			cout << "Ashishgup\n";
		}
		else {
			int k = n ;
			if (k == 2) {
				cout << "Ashishgup\n";
				continue;
			}
			while (k % 2 == 0) {
				k /= 2;
			}
			if (k == 1) {
				cout << "FastestFinger\n";
			}
			else {
				n /= k;
				if (n == 2) {
					cout << "FastestFinger\n";
				}
				else {
					cout << "Ashishgup\n";
				}
			}
		}
	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n = 1;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						int val = v / d;
						if (!(val & 1) and val != 2) {
							break;
						}
					}
				}
				if (d != 1) {
					n /= d;
				}
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n > 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n /= v;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						break;
					}
				}
				if (d > 1) {
					n /= d;
				}
				else {
					n--;
				}
			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";

	}

	return 0;
}


#include< bits/stdc++.h >
using namespace std;

const int N = 50000;

void player_1(){
	cout << "Ashishgup" << endl;
}

void player_2(){
	cout << "FastestFinger" << endl;
}

bool check_prime(int n){
	for(int i = 2; i < min(N, n); i++)
		if(n % i == 0)
			return 0;
	return 1;
}

int main(){
	int tc;
	cin >> tc;
	while(tc--){
		int n;
		cin >> n;
		bool lose = (n == 1);
		if(n > 2 && n % 2 == 0){
			if((n & (n — 1)) == 0)
				lose = 1;
			else if(n % 4 != 0 && check_prime(n / 2))
				lose = 1;
		}
		if(lose)
			player_2();
		else player_1();
	}
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n > 1) {
			int d;
			int v = n ;
			if (v & 1) {
				n /= v;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						break;
					}
				}
				if (d > 1) {
					n /= d;
				}
				else {
					n--;
				}

			}
			x == 'a' ? x = 'f' : x = 'a';
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		if (n == 1) {
			cout << "FastestFinger\n";
		}
		else {
			int k = n ;
			int count = 0 ;
			if (k == 2) {
				cout << "Ashishgup\n";
			}
			else {

				while (k % 2 == 0) {
					k /= 2;
					count++;
				}
				if (k == 1) {
					cout << "FastestFinger\n";
				}
				else if (k != 1 and count == 1) {
					cout << "FastestFinger\n";
				}
				else {
					cout << "Ashishgup\n";
				}
			}
		}
	}

	return 0;
}


#include<bits/stdc++.h>
using namespace std;

#define ff              first
#define ss              second
#define int             long long
#define pb              push_back
#define mp              make_pair
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define pqb             priority_queue<int>
#define pqs             priority_queue<int,vi,greater<int> >
#define setbits(x)      __builtin_popcountll(x)
#define zrobits(x)      __builtin_ctzll(x)
#define mod             1000000007
#define inf             1e18
#define ps(x,y)         fixed<<setprecision(y)<<x
#define mk(arr,n,type)  type *arr=new type[n];
#define w(x)            int x; cin>>x; while(x--)

void aryan_p() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
#endif
	return;
}

int32_t main() {
	aryan_p();

	w(t) {
		int n ;
		cin >> n;

		char x = 'a';
		while (n != 1) {
			int d;
			int v = n ;
			if (v & 1) {
				x == 'a' ? cout << "Ashishgup\n" : cout << "FastestFinger\n";
				break;
			}
			else {
				for (d = v - 1 ; d > 1 ; d -= 2) {
					if (v % d == 0) {
						break;
					}
				}
				if (d != 1) {
					n /= d;
					x == 'a' ? x = 'f' : x = 'a';
				}
				else {
					n--;
					x == 'a' ? x = 'f' : x = 'a';

				}

			}
		}
		if (n == 1) {
			x == 'a' ? cout << "FastestFinger\n" : cout << "Ashishgup\n";
		}

	}

	return 0;
}


#include <iostream>
#include<string>
#include <bits/stdc++.h>
#include<vector>

using namespace std;
int n;
int print(int a[],long long int k,int front,int end){
    long long int sum=0;
    reverse(a+front,a+end);
    for(int i=0;i<n;i=i+2){
     sum+=a[i];
    }
    if(sum>k)
       return sum;
    else
    return k;
}

 void solve(){
 int n;
 cin>>n;
 if(n==1){
    cout<<"FastestFinger"<<endl;
    return;
 }
 if(n==2){
     cout<<"Ashishgup"<<endl;
     return;
 }
 if(n%2==1){
 cout<<"Ashishgup"<<endl;
 return;
 }
 int ct=0;
while(n%2==0){
    n=n/2;
    ct++;
}
if(n==1)
    cout<<"FastestFinger"<<endl;
else {
    if(ct==1){
        int ct1=0;
       for(int i=3;ct1<2&&i<=n;i++){
       if(n%i==0)
       ct1++;
       }
       if(ct1==1)
       cout<<"Fastestfinger"<<endl;
       else
       cout<<"Ashishgup"<<endl;
    }

    else
     cout<<"Ashishgup"<<endl;

    }
}

int main() {
  int t;
cin>>t;
while(t--){
 solve();
}
}


#include <iostream>

using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n;
        cin>>n;

        if(n==1)
        cout<<"FastestFinger"<<endl;

        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else if(n%2==1)
                    cout<<"Ashishgup"<<endl;

        else{
            int k=0;
            int m=0;
        while(n%2==0){
            n=n/2;
            m++;
            }

        for(int i=3;n!=1;i+=2){
            if(n%i==0){
                n=n/i;
                k++;
            }
        }

        if(m==1){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}

        }

    }

}


#include <iostream>
#include <string.h>
using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n,x;
        cin>>n;
        x=n;
        if(n==1)
        cout<<"FastestFinger"<<endl;
        else if(n%2==1)
        cout<<"Ashishgup"<<endl;
        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else if(n%2==0){
            int k=0;
            int m=0;
            for(int i=0;n%2==0;i++){
                n=n/2;
                m++;

            }
            n=x;

            x=1;
            for(int p=0;p<m;p++){
                x=x*2;
            }

            if(n==x){
                cout<<"FastestFinger"<<endl;
            }
            else{

        for(int i=3;n!=x;i=i+2){
           if(n%i==0){
           n=n/i;
           k++;}
        }
        if(m==1){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}
        }
        }

    }

}


#include <iostream>
#include<string>
#include <bits/stdc++.h>
#include<vector>
#include<math.h>

using namespace std;

bool isPrime(int n)
{
    // Corner cases
    if (n <= 1)
        return false;
    if (n <= 3)
        return true;

    // This is checked so that we can skip
    // middle five numbers in below loop
    if (n % 2 == 0 || n % 3 == 0)
        return false;

    for (int i = 5; i * i <= n; i = i + 6)
        if (n % i == 0 || n % (i + 2) == 0)
            return false;

    return true;
}

 void solve(){
 int n;
 cin>>n;
 if(n==1){
    cout<<"FastestFinger"<<endl;
    return;
 }
 if(n==2){
     cout<<"Ashishgup"<<endl;
     return;
 }
 if(n%2==1){
 cout<<"Ashishgup"<<endl;
 return;
 }
 int ct=0;
while(n%2==0){
    n=n/2;
    ct++;
}
if(n==1)
    cout<<"FastestFinger"<<endl;
else {
    if(ct==1){
        if(isPrime(n))
        cout<<"FastestFinger"<<endl;
        else
         cout<<"Ashishgup"<<endl;

    }

    else
     cout<<"Ashishgup"<<endl;

    }
}

int main() {
  int t;
cin>>t;
while(t--){
 solve();
}
}


#include <iostream>

using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n,x;
        cin>>n;
        x=n;
        if(n==1)
        cout<<"FastestFinger"<<endl;

        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else if(n%2==1)
                    cout<<"Ashishgup"<<endl;

        else{
            int k=0;
            int m=0;
        while(n%2==0){
            n=n/2;
            m++;
            }

         int j=3;

       while((n%j==0)&&(n!=1)){
           n=n/j;
           j=j+2;
           k++;

         }

        if(m==1){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}

        }

    }

}


#include <iostream>

using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n;
        cin>>n;

        if(n==1)
        cout<<"FastestFinger"<<endl;

        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else if(n%2==1)
                    cout<<"Ashishgup"<<endl;

        else{
            int k=0;
            int m=0;
        while(n%2==0){
            n=n/2;
            m++;
            }

           int j=3;

       while(n!=1){
           if(n%j==0){
               n=n/j;
               k++;
           }
           j=j+2;
       }

        if(m==1){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}

        }

    }

}


#include <iostream>
#include<string>
#include <bits/stdc++.h>
#include<vector>
#include<math.h>

using namespace std;

 bool 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;
}

 void solve(){
 int n;
 cin>>n;
 if(n==1){
    cout<<"FastestFinger"<<endl;
    return;
 }
 if(n==2){
     cout<<"Ashishgup"<<endl;
     return;
 }
 if(n%2==1){
 cout<<"Ashishgup"<<endl;
 return;
 }
 int ct=0;
while(n%2==0){
    n=n/2;
    ct++;
}
if(n==1)
    cout<<"FastestFinger"<<endl;
else {
    if(ct==1){
        if(isPrime(n))
        cout<<"FastestFinger"<<endl;
        else
         cout<<"Ashishgup"<<endl;

    }

    else
     cout<<"Ashishgup"<<endl;

    }
}

int main() {
  int t;
cin>>t;
while(t--){
 solve();
}
}


#include <iostream>

using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n,x;
        cin>>n;
        x=n;
        if(n==1)
        cout<<"FastestFinger"<<endl;
        else if(n%2==1)
        cout<<"Ashishgup"<<endl;
        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else{
            int k=0;
            int m=0;
        while(n%2==0){
            n=n/2;
            m++;
        }

        for(int i=3;n!=1;i=i+2){
           if(n%i==0){
           n=n/i;
           k++;}
        }
        if(m==1){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}

        }

    }

}


#include <iostream>
#include<string>
#include <bits/stdc++.h>
#include<vector>

using namespace std;
int n;
int print(int a[],long long int k,int front,int end){
    long long int sum=0;
    reverse(a+front,a+end);
    for(int i=0;i<n;i=i+2){
     sum+=a[i];
    }
    if(sum>k)
       return sum;
    else
    return k;
}

 void solve(){
 int n;
 cin>>n;
 if(n==1){
    cout<<"FastestFinger"<<endl;
    return;
 }
 if(n==2){
     cout<<"Ashsishgup"<<endl;
     return;
 }
 if(n%2==1){
 cout<<"Ashishgup"<<endl;
 return;
 }
 int ct=0;
while(n%2==0){
    n=n/2;
    ct++;
}
if(n==1)
    cout<<"FastestFinger"<<endl;
else {
    if(ct==1){
        int ct1=0;
       for(int i=3;ct1<2&&i<=n;i++){
       if(n%i==0)
       ct1++;
       }
       if(ct1==1)
       cout<<"Fastestfinger"<<endl;
       else
       cout<<"Ashishgup"<<endl;
    }

    else
     cout<<"Ashishgup"<<endl;

    }
}

int main() {
  int t;
cin>>t;
while(t--){
 solve();
}
}


#include <iostream>
#include <string.h>
using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n;
        cin>>n;
        if(n==1)
        cout<<"FastestFinger"<<endl;
        else if((n>1)&(n%2==1))
        cout<<"Ashishgup"<<endl;
        else if(n!=2)
        cout<<"FastestFinger"<<endl;
        else
        cout<<"Ashishgup"<<endl;

    }

}


#include <iostream>
#include <string.h>
using namespace std;
int  main() {
    int t;
    cin>>t;
    for(int l=0;l<t;l++){
        int n,x;
        cin>>n;
        x=n;
        if(n==1)
        cout<<"FastestFinger"<<endl;
        else if(n%2==1)
        cout<<"Ashishgup"<<endl;
        else if(n==2){
            cout<<"Ashishgup"<<endl;
        }
        else if(n%2==0){
            int k=0;
            int m=1;
            for(int i=0;n%2==0;i++){
                n=n/2;
                m=m*2;;

            }
            n=x;

            if(n==m){
                cout<<"FastestFinger"<<endl;
            }
            else{

        for(int i=3;n!=m;i=i+2){
           if(n%i==0){
           n=n/i;
           k++;}
        }
        if(m==2){
            if(k%2==0)
            cout<<"Ashishgup"<<endl;
            else
            cout<<"FastestFinger"<<endl;
        }
        else{
        if(k%2==1)
        cout<<"Ashishgup"<<endl;
        else
        cout<<"FastestFinger"<<endl;}
        }
        }

    }

}


#include <iostream>
#include<string>
#include <bits/stdc++.h>
#include<vector>

using namespace std;
int n;
int print(int a[],long long int k,int front,int end){
    long long int sum=0;
    reverse(a+front,a+end);
    for(int i=0;i<n;i=i+2){
     sum+=a[i];
    }
    if(sum>k)
       return sum;
    else
    return k;
}

 void solve(){
 int n;
 cin>>n;
 if(n==1){
    cout<<"FastestFinger"<<endl;
    return;
 }
 if(n==2){
     cout<<"Ashishgup"<<endl;
     return;
 }
 if(n%2==1){
 cout<<"Ashishgup"<<endl;
 return;
 }
 int ct=0;
while(n%2==0){
    n=n/2;
    ct++;
}
if(n==1)
    cout<<"FastestFinger"<<endl;
else {
    if(ct==1){
        int ct1=0;
       for(int i=3;ct1<2&&i<=n;i++){
       if(n%i==0)
       ct1++;
       }
       if(ct1==1)
       cout<<"FastestFinger"<<endl;
       else
       cout<<"Ashishgup"<<endl;
    }

    else
     cout<<"Ashishgup"<<endl;

    }
}

int main() {
  int t;
cin>>t;
while(t--){
 solve();
}
}


#include <bits/stdc++.h>

// #define DEBUG

using namespace std;

typedef vector<int> vi;
typedef set<int> si;

#define MAX 1000000
vi c(MAX+1,1); // candidates

void sieve(vi &primes) {
  c[0] = 0;
  int ct = 2;
  c[1] = 0;
  c[2] = 0;
  while (ct < MAX) {
    primes.push_back(ct);
    if (ct * ct > MAX) break;
    for(int i=ct*ct; i<MAX && i > 0; i+=ct) {
      c[i] = 0;
    }
    while (c[++ct] == 0);
  }
}

vi primes;

void a_wins() {
   cout << "Ashishgup\n";
}

void f_wins() {
   cout << "FastestFinger\n";
}

void debug(int i) {
#ifdef DEBUG
   cout << i << " ";
#endif
}

#define DEBUG

int main() {
  int t,n;

  sieve(primes);

  cin >> t;

  while (t--) {
    cin >> n;

    int win = 0;

    // Case analysis:
    // n == 1, no move, F wins

    if (n==1) {
      win = 1;
    }

    int log2 = 0;

    while (n>2 && n % 2 == 0) {
       n/=2;
       ++log2;
    }

    // n == 2^x, F wins

    if (n==1) {
      win = 1;
    }

    int isPrime = (n>1);

    auto p = primes.begin();
    ++p; // skip 2

    while (*p < n) {
        if (n % *p == 0) {
            isPrime = 0;
            break;
        }
        ++p;
    }

    if (log2 == 1 && isPrime)
      win = 1;

    if (win)
       f_wins();
    else
       a_wins();
  }

}


#include <bits/stdc++.h>

// #define DEBUG

using namespace std;

typedef vector<int> vi;
typedef set<int> si;

#define MAX 10000000
vi c(MAX+1,1); // candidates

void sieve(vi &primes) {
  c[0] = 0;
  int ct = 2;
  c[1] = 0;
  c[2] = 0;
  while (ct < MAX) {
    primes.push_back(ct);
    if (ct * ct > MAX) break;
    for(int i=ct*ct; i<MAX && i > 0; i+=ct) {
      c[i] = 0;
    }
    while (c[++ct] == 0);
  }
}

vi primes;

void a_wins() {
   cout << "Ashishgup\n";
}

void f_wins() {
   cout << "FastestFinger\n";
}

void debug(int i) {
#ifdef DEBUG
   cout << i << " ";
#endif
}

#define DEBUG

int isPrime(int n) {
   if (n==1) return 0;

   for(int i=2; i<min(n,50000); ++i)
      if (n % i == 0) return 0;

   return 1;
}

int main() {
  int t,n;

  // sieve(primes);

  cin >> t;

  while (t--) {
    cin >> n;

    int win = 0;

    // Case analysis:
    // n == 1, no move, F wins

    if (n==1) {
      win = 1;
    }

    int log2 = 0;

    while (n>1 && n % 2 == 0) {
       n/=2;
       ++log2;
    }

    // n == 2^x, F wins

    if (n==1 && log2>1) {
      win = 1;
    }

    // int isPrime = (n>1);

    // auto p = primes.begin();
    // ++p; // skip 2

    // while (p != primes.end() && *p < n) {
    //     if (n % *p == 0) {
    //         isPrime = 0;
    //         break;
    //     }
    //     ++p;
    // }

    if (log2 == 1 && isPrime(n))
      win = 1;

    if (win)
       f_wins();
    else
       a_wins();
  }

}


#include <bits/stdc++.h>

using namespace std;

typedef vector<int> vi;
typedef set<int> si;

#define MAX 1000000
vi c(MAX+1,1); // candidates

void sieve(vi &primes) {
  c[0] = 0;
  int ct = 2;
  c[1] = 0;
  c[2] = 0;
  while (ct < MAX) {
    primes.push_back(ct);
    if (ct * ct > MAX) break;
    for(int i=ct*ct; i<MAX && i > 0; i+=ct) {
      c[i] = 0;
    }
    while (c[++ct] == 0);
  }
}

vi primes;

int main() {
  int t,n;
  string a = "Ashishgup";
  string f = "FastestFinger";

  sieve(primes);

  cin >> t;

  while (t>0) {
    --t;
    cin >> n;
    // cout << t << " " << n << " " << "\n" << " == ";

    // Case analysis:
    // n == 1, no move, F wins

    if (n==1) {
      cout << f << "\n";
      continue;
    }

    // n == 2, sub 1, A wins
    // n is odd, divide by n, A wins
    if (n==2 || n % 2 == 1) {
      cout << a << "\n";
      continue;
    }
    // gotta factorize

    vi factors;
    int num2 = 0;
    int numOdd = 0;

    while (n >= 2 && n % 2 == 0) {
      n /= 2;
      num2++;
      // cout << "/2 =" << n << "\n";
    }

    auto p = primes.begin();
    ++p; // skip 2

    // cout << "Try prime " << *p << " on " << n << "\n";
    while (p!=primes.end() && *p <= n) {
      // cout << "Prime " << *p << endl;
      while (n >= *p && n % *p == 0) {
        numOdd ++;
        n /= *p;
        // cout << "/" << *p << " = " << n << "\n";
      }
      ++p;
    }

    if (n>1) // final result is a prime
      numOdd++;

    // cout << "numodd " << numOdd << " num2 " << num2 << "\n";
    // 2 * prime, either subtract 1 or divide, lose
    if (num2 == 1 && numOdd == 1) {
      cout << f << "\n";
      continue;
    }

    // 2 * prime * odd, divide odd, win
    if (num2 == 1 && numOdd > 1) {
      cout << a << "\n";
      continue;
    }

    // power of two, must subtract and lose.
    if (num2 > 1 && numOdd == 0) {
      cout << f << "\n";
      continue;
    }

    // last case, 2 * 2^n * odd,  divide odd, win
    if (num2 > 1 && numOdd > 0) {
      cout << a << "\n";
      continue;
    }

  }

}