// https://codeforces.com/contest/2162/problem/D
#include <iostream>

using namespace std;
const int mxN = 2e5, MOD = 1e9 + 7;
void solve()
{
    int n ;
    cin >> n;
    int st = 1, dr = n, mid, l = -1, r = -1;
    while(st <= dr)
    {
        mid = (st + dr) / 2;
        cout << "1 1 " << mid << endl;
        int sum1,sum2;
        cin >> sum1;
        cout << "2 1 " << mid << endl;
        cin >> sum2;
        if(sum2 > sum1)
            dr = mid-1, l = mid;
        else st = mid + 1;
    }
    int sum1, sum2;
    cout << "1 1 " << n << endl;
    cin >> sum1;
    cout << "2 1 " << n << endl;
    cin >> sum2;
    int len = sum2 - sum1;
    cout << "! " << l << ' ' << l + len - 1 << endl;
}
int main()
{
    int t; cin >> t;
    while(t--) solve();
    return 0;
}