传送门
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10;
int n,m,h[maxn];
int find(int x){
for(int i = 1; i <= n; i++){
if(h[i] == x){
return i;
}
}
return 0;
}
int main() {
ios::sync_with_stdio(0);
cin >> n >> m;
for(int i = 1; i <= n; i++) {
cin >> h[i];
int t = i;
while(t > 1 && h[t] < h[t/2]){
swap(h[t],h[t/2]);
t >>= 1;
}
}
int y;string s;
while(m--) {
int x;cin >> x;
cin >> s;
if(s == "and"){
cin >> y;
cin >> s;cin >> s;
if(find(x) / 2 == find(y) / 2)
cout << "T" << endl;
else cout << "F" << endl;
}else{
cin >> s;
if(s == "a"){
cin >> s;cin >> s;
cin >> y;
if(find(x) / 2 == find(y))
cout << "T" << endl;
else cout << "F" << endl;
}else{
cin >> s;
if(s[0] == 'p'){
cin >> s;
cin >> y;
if(find(x) == find(y) / 2)
cout << "T" << endl;
else cout << "F" << endl;
}else{
if(find(x) == 1) cout << "T" << endl;
else cout << "F" << endl;
}
}
}
}
return 0;
}