#include <iostream>
using namespace std;
int main()
{
int iloscliczb;
cin >> iloscliczb;
int *tab = new int[iloscliczb];
//wczytywanie liczb do tablicy
for (int i = 0; i < iloscliczb; i++){
cin >> tab[i];
}
//wyszukiwanie max w tablicy
int max = tab[0];
for (int i = 0; i < iloscliczb; i++){
if (max < tab[i]){
max = tab[i];
}
}
bool *liczbypierwsze = new bool [max + 1];
// zapełnienie tablic indeksowaniej od maxa (bo tyle najwięcej będzie wartości)
for (int i = 0; i <= max ; i++){
liczbypierwsze[i] = false;
}
//wpisywanie false gdy indeks i nie jest pierwszy
for (int i = 2; i <= max + 1 ; i++){
int k = 2;
if (liczbypierwsze[i] == false){
while(k*i <= max + 1){
liczbypierwsze[k*i] = true;
k = k + 1;
}
}
}
for (int i = 0; i < iloscliczb; i++){
if(liczbypierwsze[tab[i]] == false) cout << "T" << endl;
else cout << "N" << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgaW50IGlsb3NjbGljemI7CiAgICBjaW4gPj4gaWxvc2NsaWN6YjsKICAgIGludCAqdGFiID0gbmV3IGludFtpbG9zY2xpY3piXTsKCiAgICAvL3djenl0eXdhbmllIGxpY3piIGRvIHRhYmxpY3kKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaWxvc2NsaWN6YjsgaSsrKXsKICAgICAgICBjaW4gPj4gdGFiW2ldOwogICAgfQoKICAgIC8vd3lzenVraXdhbmllIG1heCB3IHRhYmxpY3kKICAgIGludCBtYXggPSB0YWJbMF07CiAgICBmb3IgKGludCBpID0gMDsgaSA8IGlsb3NjbGljemI7IGkrKyl7CiAgICAgICAgaWYgKG1heCA8IHRhYltpXSl7CiAgICAgICAgICAgIG1heCA9IHRhYltpXTsKICAgICAgICB9CiAgICB9CgogICAgYm9vbCAqbGljemJ5cGllcndzemUgPSBuZXcgYm9vbCBbbWF4ICsgMV07CgogICAgLy8gemFwZcWCbmllbmllIHRhYmxpYyBpbmRla3Nvd2FuaWVqIG9kIG1heGEgKGJvIHR5bGUgbmFqd2nEmWNlaiBixJlkemllIHdhcnRvxZtjaSkKICAgIGZvciAoaW50IGkgPSAwOyBpIDw9IG1heCAgOyBpKyspewogICAgICAgIGxpY3pieXBpZXJ3c3plW2ldID0gZmFsc2U7CiAgICB9CgogICAgLy93cGlzeXdhbmllIGZhbHNlIGdkeSBpbmRla3MgaSBuaWUgamVzdCBwaWVyd3N6eQogICAgZm9yIChpbnQgaSA9IDI7IGkgPD0gbWF4ICsgMSA7IGkrKyl7CiAgICAgICAgaW50IGsgPSAyOwogICAgICAgIGlmIChsaWN6YnlwaWVyd3N6ZVtpXSA9PSBmYWxzZSl7CiAgICAgICAgICAgIHdoaWxlKGsqaSA8PSBtYXggKyAxKXsKICAgICAgICAgICAgICAgIGxpY3pieXBpZXJ3c3plW2sqaV0gPSB0cnVlOwogICAgICAgICAgICAgICAgayA9IGsgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgZm9yIChpbnQgaSA9IDA7IGkgPCBpbG9zY2xpY3piOyBpKyspewogICAgICAgIGlmKGxpY3pieXBpZXJ3c3plW3RhYltpXV0gPT0gZmFsc2UpIGNvdXQgPDwgIlQiIDw8IGVuZGw7CiAgICAgICAgZWxzZSBjb3V0IDw8ICJOIiA8PCBlbmRsOwogICAgfQoKCiAgICByZXR1cm4gMDsKfQo=