import sys
import random

W, H = map(int,raw_input().split())
f = []

def q( x, y ):
    global f
    sys.stdout.write( "? %d %d\n" % (x,y) )
    sys.stdout.flush()
    r = {'k':1,'o':0,'e':-1}[ sys.stdin.readline()[1] ]
    if r == 0:
        f += [x,y]
        if len(f) >= 4:
            sys.stdout.write("! %d %d %d %d\n" % tuple(f) )
            sys.stdout.flush()
            sys.exit(0)
    return r

def bs( x ):
    global H
    u, l = H, 1
    while u >= l+2:
        y = int((u+l)/2)
        r = q( x, y )
        if r == 0:
            return float(y)
        elif r > 0:
            u = y
        else:
            l = y
    return (u+l)/2.0

a = bs(1)
b = bs(W)
L = list(range(2,W))
random.seed(1337)
random.shuffle(L)
dydx = (b-a)/(W-1)
for x in L:
    yf = dydx * (x-1) + a
    y = int(round(yf))
    q(x,y)     