cf1370C
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
using namespace std;
#define debug cout << "debug" << ' '
void fileio()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
}
void fileclose()
{
fclose(stdin);
fclose(stdout);
}
int n;
string res[5];
bool is_prime(int n)
{
if(n < 2) return false;
for(int i = 2;i <= n/i;i ++)
if(n % i == 0 ) return false;
return true;
}
void solve()
{
res[0] = "Ashishgup";
res[1] = "FastestFinger";
cin >> n;
if(n == 1){ cout << res[1] << endl; return; }
if(n == 2){ cout << res[0] << endl; return; }
if(n % 2 == 1){ cout << res[0] << endl; return; }
int cnt_two = 0;
while(n % 2 == 0){ cnt_two ++; n/= 2;}
if(n == 1) { cout << res[1] << endl; return;}
if(is_prime(n)) {
if(cnt_two == 1) { cout << res[1] << endl; return;}
}
cout << res[0] << endl;
}
set<int> cacl(int n)
{
set<int> s;
for(int i = 2;i * i <= n;i ++)
if(n/i == 0)
{
if(i % 2 == 1) s.insert(i);
if((n/i) % 2 == 1) s.insert(i);
}
if(n % 2 == 1) s.insert(n);
return s;
}
signed main()
{
int tc = 1;
cin >> tc;
for(int T = 0; T < tc;T ++) solve();
}
cf317D
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define fi first
#define se second
using namespace std;
void fileio()
{
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
}
void fileclose()
{
fclose(stdin);
fclose(stdout);
}
const int N = 1e7 + 10;
const int MAC = 1e5 + 10;
const int all = 30;
int sg[50]={0,1 ,2 ,1 ,4 ,3 ,2 ,1 ,5 ,6 ,2 ,1 ,8 ,7 ,5 ,9 ,8 ,7 ,3 ,4 ,7 ,4 ,2 ,1 ,10 ,9 ,3 ,6 ,11 ,12 ,14};
bool is_used[N];
map<int,int> mp;
bool vis[MAC];
map<int ,int>M;
int cacl(int x)
{
if(x == 0) return 0;
if(M[x]) return M[x];
int ed = (1LL << x) - 1;
map<int,int>mex;
for(int i = 0;i < all;i ++)
{
if((x & (1LL << i)))
{
int tmp = x;
for(int j = 1; j*(i + 1) <= all;j ++)
{
int duo = (1LL << (((i + 1) * j) - 1));
tmp -= duo;
}
mex[cacl(tmp)] = 1;
}
}
for(int i = 0; ;i ++) if(!mex[i]) return M[x] = i;
}
void solve()
{
int sum = 0;
memset(is_used,false,sizeof is_used);
int n;
cin >> n;
for(int i = 2;i * i<= n;i ++)
{
if(!is_used[i])
{
int j = i;
while(j <= n)
{
if(j <= 1e7){ if(!is_used[j])
{
mp[i] ++; is_used[j] = true;
}}
else mp[i] ++;
j *= i;
}
}
}
for(auto x : mp) if(x.se > 1) sum += x.se;
sum = n - sum;
sum = (sum % 2) ? 1 : 0;
int res = sum;
for(auto x : mp) if(x.se > 1) res ^= sg[x.se];
cout << (res ? "Vasya" : "Petya") << endl;
return;
}
signed main()
{
int tc = 1;
for(int T = 0; T < tc;T ++) solve();
}