/*************************************************************************
    > File Name: 2.cpp
    > Author: Knowledge-Pig
    > Mail: 925538513@qq.com
    > Blog: https://www.cnblogs.com/Knowledge-Pig/
    > Created Time: 2021年03月12日 星期五 18时11分23秒
************************************************************************/

#include<bits/stdc++.h>
using namespace std;
#define For(i,a,b) for(int i=(a);i<=(b);++i)
#define LL long long
#define pb push_back
#define fi first
#define se second
#define pr pair<int,int>
#define mk(a,b) make_pair(a,b)
int read(){
	char x=getchar(); int u=0,fg=0;
	while(!isdigit(x)){ if(x=='-') fg=1; x=getchar(); }
	while(isdigit(x)){ u=(u<<3)+(u<<1)+(x^48); x=getchar(); }
	return fg?-u:u;
}
int ask(int x){
	cout<<"? "<<x+1<<endl;
	cin>>x;
	return x;
}
int main()
{
#ifndef ONLINE_JUDGE
	freopen("input.in", "r", stdin);
	freopen("output.out", "w", stdout);
#endif
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int n,k;
	cin>>n>>k;
	int B=sqrt(n)-1;
	For(i,0,B) ask(i);
	int u=0,v=ask(u);
	while(v==k){
		u=(u+B)%n;
		v=ask(u);
	}
	if(v<k){
		while(ask((u+B)%n)<k) u=(u+B)%n;
		while(ask((u+1)%n)<k) u=(u+1)%n;
		u=(u+1)%n;
	}
	else{
		while(ask((u-B+n)%n)>k) u=(u-B+n)%n;
		while(ask((u-1+n)%n)>k) u=(u-1+n)%n;
		u=(u-1+n)%n;
	}
	cout<<"! "<<u+1<<endl;
	return 0;
}
