#include using namespace std; typedef long long ll; ll floor_sum(ll n, ll m, ll a, ll b){ ll ans = 0; if(a < 0){ ll a2 = a % m; if(a2 < 0) a2 += m; ans -= n*(n-1)/2 * ((a2 - a)/m); a = a2; } if(b < 0){ ll b2 = b % m; if(b2 < 0) b2 += m; ans -= n * ((b2 - b)/m); b = b2; } while(true){ if(a >= m){ ans += n*(n-1)/2 * (a/m); a %= m; } if(b >= m){ ans += n * (b/m); b %= m; } ll ymax = a*n + b; if(ymax < m) break; n = ymax / m; b = ymax % m; ll t = m; m = a; a = t; } return ans; } string solve(ll A, ll B, ll D, ll R){ ll g = __gcd(D, R); ll P = R / g; ll Q = D / R; ll S = D % R; ll Tsuper = P*(Q+1) + S/g; ll lhs = P * A; ll rhs = B * Tsuper; if(lhs > rhs) return "rabbit"; if(lhs < rhs) return "turtle"; ll rem = 1 % Tsuper; for(int i = 0; i < 100; i++) rem = (rem * 10) % Tsuper; if(rem == 0) return "tie"; auto C = [&](ll i) -> ll { ll c = S + 1; ll Ni = floor_sum(i+1, R, D, 0) - floor_sum(i+1, R, D, -c) - 1; ll Long = Ni - i / P; return i*(Q+1) + Long; }; ll lo = 0, hi = P; while(lo < hi){ ll mid = lo + (hi - lo)/2; if(C(mid) >= rem) hi = mid; else lo = mid + 1; } ll moves = lo; ll rl = moves * A, rr = B * rem; if(rl > rr) return "rabbit"; if(rl < rr) return "turtle"; return "tie"; } int main(){ int T; scanf("%d", &T); string out; out.reserve(T*7); while(T--){ ll A,B,D,R; scanf("%lld %lld %lld %lld",&A,&B,&D,&R); out += solve(A,B,D,R); out += '\n'; } fputs(out.c_str(), stdout); return 0; }