CCCPaste

Beautiful permutation (interactive)

// 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;
}