#include <bits/stdc++.h>
#define fst first
#define snd second
#define fore(i,a,b) for(int i=a,ThxDem=b;i<ThxDem;++i)
#define pb push_back
#define ALL(s) s.begin(),s.end()
#define FIN ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define SZ(s) int(s.size())
using namespace std;
typedef long long ll;
typedef pair<int,int> ii;

int n,k;

int ask(int x){
	cout<<"? "<<x<<endl;
	cin>>x;
	if(x==-1) exit(0);
	return x<k?-1:(x==k?0:1);
}

int main(){FIN;
	cin>>n>>k;
	auto rnd=bind(uniform_int_distribution<int>(0,n-1), mt19937(time(0)));
	int x,wh=0;
	while(!wh){
		x=rnd(); wh=ask(x+1);
	}
	
	int off=1;
	//hasdd
	if(wh<0){
		int l=0,r=(n+off)/2;
		while(l<=r){
			int m=(l+r)/2;
			if(ask((x+m)%n+1)<0) l=m+1;
			else r=m-1;
		}
		int ans=(x+l)%n+1;
		cout<<"! "<<ans<<endl;
		exit(0);
	}
	
	int l=0,r=(n+off)/2;
	while(l<=r){
		int m=(l+r)/2;
		if(ask((x-m+n)%n+1)>0) l=m+1;
		else r=m-1;
	}
	int ans=(x-l+n)%n+1;
	cout<<"! "<<ans<<endl;
	exit(0);
}