rt,50 分。
#include<bits/stdc++.h>
using namespace std;
long long t,n,m;
unordered_map<long long,bool>p;
bool f(__int128_t x){
if(x==0)return 0;
if(x<0)return 1;
if(p.count((long long)x))return p[(long long)x];
for(__int128_t i=x/n*n;i>=n;i--){
if(!f(x-i)){
p[(long long)x]=1;
return 1;
}
}
for(__int128_t i=(__int128_t)sqrt(n);i>=1;i--){
if(!f(x-i*i)){
p[(long long)x]=1;
return 1;
}
}
p[(long long)x]=0;
return 0;
}
int main(){
cin>>t>>n;
while(t--){
cin>>m;
putchar(f(__int128_t(m))?'F':'B');
}
return 0;
}