using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        int t = int.Parse(Console.ReadLine());
        while (t-- > 0) {
            int n = int.Parse(Console.ReadLine());
            List<(int first, int second)> r = new List<(int, int)>();
            List<(int first, int second)> b = new List<(int, int)>();
            for (int i = 0; i < n; ++i) {
                var input = Console.ReadLine().Split();
                int x = int.Parse(input[0]);
                int y = int.Parse(input[1]);
                char c = input[2][0];
                if (c == 'R') r.Add((x, y));
                else b.Add((x, y));
            }
            r.Sort((p, q) => q.first.CompareTo(p.first));
            b.Sort((p, q) => q.first.CompareTo(p.first));
            int ri = 0, bi = 0;
            bool bd = false, rd = false;
            long s = 0;
            while (ri < r.Count && bi < b.Count) {
                long c = Math.Min(r[ri].second, b[bi].second);
                s += c * (r[ri].first - b[bi].first);
                if (s <= -2) bd = true; 
                if (s >= 1) rd = true;
                r[ri] = (r[ri].first, r[ri].second - (int)c);
                if (r[ri].second == 0) ri++;
                b[bi] = (b[bi].first, b[bi].second - (int)c);
                if (b[bi].second == 0) bi++;
            }
            if (ri == r.Count) {
                if (bi == b.Count) {
                    Console.WriteLine($"Draw {r[0].first} +");
                } else {
                    if (rd) {
                        Console.WriteLine($"Draw {r[0].first} +");
                    } else {
                        Console.WriteLine("Second");
                    }
                }
            } else {
                if (bd) {
                    Console.WriteLine($"Draw {r[0].first} +");
                } else {
                    Console.WriteLine($"First {r[0].first} +");
                }
            }
        }
    }
}
