#define X first
#define Y second
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vpii = vector<pii>;
int main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int t; cin >> t;
    for (; t--;) {
        int n; cin >> n;
        vpii r, b;
        for (int i = 0; i < n; ++i) {
            pii p; char c;
            cin >> p.X >> p.Y >> c;
            (c == 'R' ? r : b).push_back(p);
        }
        sort(r.rbegin(), r.rend()); sort(b.rbegin(), b.rend());
        int ri = 0, bi = 0, ri_rightmost_exact_win = r.size(), ri_leftmost_exact_plus_one_win = -1, ri_leftmost_exact_draw = -1, ri_rightmost_exact_plus_one_draw = r.size();
        bool bd = false, r_superdraw = false;
        ll s = 0;
        while (ri < r.size() && bi < b.size()) {
            ll c = min(r[ri].Y, b[bi].Y);
            s += c * (r[ri].X - b[bi].X);
            if (s == 0) ri_leftmost_exact_plus_one_win = ri; if (s == -1 && ri_rightmost_exact_win == r.size()) ri_rightmost_exact_win = ri; if (s <= -2) bd = true;
            if (s >= 3) r_superdraw = true;
            if (s == 2 && ri_rightmost_exact_plus_one_draw == r.size()) ri_rightmost_exact_plus_one_draw = ri;
            if (s == 1) ri_leftmost_exact_draw = ri;
            if ((r[ri].Y -= c) == 0) ++ri;
            if ((b[bi].Y -= c) == 0) ++bi;
        }
        if (ri == r.size())
            if (bi == b.size())
                if (r.front().X == 1)
                    cout << "Draw 0 0\n", cerr << 0;
                else
                    cout << "Draw " << r.front().first << " -\n", cerr << 1;
            else
            if (r_superdraw)
                cout << "Draw " << r.front().first << " -\n", cerr << 2;
            else if (ri_rightmost_exact_plus_one_draw != r.size())
                if (ri_rightmost_exact_plus_one_draw + 1 < r.size() && r[ri_rightmost_exact_plus_one_draw + 1].X > 1)
                    cout << "Draw " << r[ri_rightmost_exact_plus_one_draw + 1].X << " -\n", cerr << 3;
                else
                    cout << "Draw 0 0\n", cerr << 4;
            else if (ri_leftmost_exact_draw != -1)
                cout << "Draw " << r[ri_leftmost_exact_draw].X << " +\n", cerr << 5;
            else
                cout << "Second\n", cerr << 6;
        else
        if (bd)
            if (r.front().first == 1)
                cout << "Draw 0 0\n", cerr << 7;
            else
                cout << "Draw " << r.front().first << " -\n", cerr << 8;
        else if (ri_rightmost_exact_win != r.size())
            cout << "First " << r[ri_rightmost_exact_win].X << " +\n", cerr << 9;
        else if (ri_leftmost_exact_plus_one_win != -1)
            if (ri_leftmost_exact_plus_one_win + 1 < r.size())
                if (r[ri_leftmost_exact_plus_one_win + 1].X > 1)
                    cout << "No idea\n", cerr << 'A';
                else
                    cout << "First 0 0\n", cerr << 'B';
            else
                cout << "First 0 0\n", cerr << 'C';
        else if (r.front().first > 1)
            cout << "First " << r.front().first << " -\n", cerr << 'D';
        else
            cout << "First 0 0\n", cerr << 'E';
    }
}
