#include #define REP(i,n) for (int i=0;i<(n);i++) #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define dump1d_arr(array) REP(i,array.size()) cerr << #array << "[" << (i) << "] ==> " << (array[i]) << endl; #define dump2d_arr(array) REP(i,array.size()) REP(j,array[i].size()) cerr << #array << "[" << (i) << "]" << "[" << (j) << "] ==> " << (array[i][j]) << endl; #define dump(x) cerr << #x << " => " << (x) << endl; #define CLR(vec) { REP(i,vec.size()) vec[i] = 0; } #define loINF (long)10000000000 #define shINF (short)10000 #define SORT(c) sort((c).begin(),(c).end()) using namespace std; typedef vector VI; typedef vector VVI; int main(void){ short T; cin >> T; /*VVI dp(T+1,VI(201,0)); dp[0][100] = 1; FOR(i,1,T){ REP(j,201){ if (j + 1 > 200) dp[i][j] = dp[i-1][j-1]; else { if (j - 1 < 0) dp[i][j] = dp[i-1][j+1]; else dp[i][j] = (dp[i-1][j+1] || dp[i-1][j-1]); } } if (dp[i][j]) }*/ short next_point; short point = 0; short ans = 0; REP(i,T) { cin >> next_point; if (abs((point) - (next_point)) != 1) ans = 1; point = next_point; } if (ans == 1) cout << "F" << endl; else cout << "T" << endl; return 0; }