#include <iostream>
#include <map>
using namespace std;
map<int, int> queries;
int ask(int x, int y = 1, int z = 1) {
    cout << "? " << x << ' ' << y << ' ' << z << endl;
    cin >> queries[x];
    return queries[x];
}
int dx[] = {1, -1, 0, 0, 0, 0};
int dy[] = {0, 0, 1, -1, 0, 0};
int dz[] = {0, 0, 0, 0, 1, -1};
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    srand(2137);
    int q, n, m, k;
    cin >> n >> m >> k >> q;
    int aktx = 0, akty = 0, aktz = 0, aktval = 0;
    for (int i = 0; i < q / 2; i++) {
        int x = rand() % n + 1, y = rand() % m + 1, z = rand() % k + 1;
        int val = ask(x, y, z);
        if (val > aktval) {
            aktx = x;
            akty = y;
            aktz = z;
        }
        aktval = max(val, aktval);
    }
    
    while (true) {
        int bestval = 0, bestoption = 0;
        for (int i = 0; i < 6; i++) {
            if (aktx + dx[i] < 1 || aktx + dx[i] > n || akty + dy[i] < 1 || akty + dy[i] > m || aktz + dz[i] < 1 || aktz + dz[i] > k) continue;
            int val = ask(aktx + dx[i], akty + dy[i], aktz + dz[i]);
            if (val > bestval) bestoption = i;
            bestval = max(val, bestval);
        }
        if (bestval <= aktval) {
            cout << "! " << aktx << ' ' << akty << ' ' << aktz << endl;
            return 0;
        }
        else {
            aktval = bestval;
            aktx += dx[bestoption];
            akty += dy[bestoption];
            aktz += dz[bestoption];
        }
    }
    return 0;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |