#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
struct _ {
  ios_base::Init i;
  _() {
    cin.sync_with_stdio(0);
    cin.tie(0);
    cout << fixed << setprecision(10);
  }
} ___;
template <typename Arg1>
void __f(const char* name, Arg1&& arg1) {
  cerr << name << " : " << arg1 << endl;
}
template <typename Arg1, typename... Args>
void __f(const char* names, Arg1&& arg1, Args&&... args) {
  const char* comma = strchr(names + 1, ',');
  cerr.write(names, comma - names) << " : " << arg1 << "  ";
  __f(comma + 1, args...);
}
signed main() {
  long long int n, l, r;
  cin >> n >> l >> r;
  vector<long long int> v1(n + 10), v2(n + 10);
  for (long long int i = 0; i++ < n;) cin >> v1[i];
  for (long long int i = 0; i++ < n;) cin >> v2[i];
  long long int f = 1;
  for (long long int i = 1; i < l; i++)
    if (v1[i] != v2[i]) f = 0;
  for (long long int i = r + 1; i <= n; i++)
    if (v1[i] != v2[i]) f = 0;
  multiset<long long int> ms1, ms2;
  for (long long int i = l; i <= r; i++) {
    ms1.insert(v1[i]);
    ms2.insert(v2[i]);
  }
  if (ms1 != ms2) f = 0;
  f == 1 ? cout << "TRUTH" : cout << "LIE";
}
