/*
███████╗ █████╗ ██╗ ███╗ ███╗ █████╗ ██╗ ██╗ █████╗ ███╗ ██╗██╗
██╔════╝██╔══██╗██║ ████╗ ████║██╔══██╗ ██║ ██║██╔══██╗████╗ ██║██║
███████╗███████║██║ ██╔████╔██║███████║ ███████║███████║██╔██╗ ██║██║
╚════██║██╔══██║██║ ██║╚██╔╝██║██╔══██║ ██╔══██║██╔══██║██║╚██╗██║██║
███████║██║ ██║███████╗██║ ╚═╝ ██║██║ ██║ ███████╗ ██║ ██║██║ ██║██║ ╚████║██║
╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═╝
*/
#include <bits/stdc++.h>
using namespace std;
#define sp " "
#define ll long long
#define ld long double
#define oo (ll)(1e16)
#define OO (ll)(1e9)
#define cin(vec) for(auto& i : vec) cin >> i;
#define sz(s) (int)(s.size())
#include<ext/pb_ds/assoc_container.hpp> // keep-include
#include<ext/pb_ds/tree_policy.hpp> // keep-include
using namespace __gnu_pbds;
template <typename key>
using ordered_set = tree<key, null_type, less_equal<key>, rb_tree_tag, tree_order_statistics_node_update>;
// find_by_order(k) :
// It returns to an iterator to the k-th element (counting from zero) in the set in O(logn) time.
// To find the first element k must be zero.
// order_of_key(k) :
// It returns to the number of items that are strictly smaller than our item k in O(logn) time.
int ask(int l, int r)
{
cout << "? " << l << sp << r << endl;
cout.flush();
int ret;
cin >> ret;
return ret;
}
void FAST()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
void solve()
{
int n, t;
cin >> n >> t;
vector<int> pref(n + 1, -1);
ordered_set<int> os;
while (t--)
{
int k;
cin >> k;
int l = 1, r = n;
while (l <= r)
{
int md = (l + r) / 2;
int p = 0;
int s = os.order_of_key(md + 1);
if (pref[md] != -1)
p = pref[md] + s;
else
{
p = ask(1, md);
pref[md] = p - s;
}
int z = md - p;
if (z >= k)r = md - 1;
else l = md + 1;
}
cout << "! " << l << endl;
cout.flush();
os.insert(l);
}
}
int32_t main()
{
FAST();
int t = 1;
// cin>>t;
while (t--)
{
solve();
}
}
LyoK4paI4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilZcgICAgIOKWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVlyDilojilojilojilojilojilZcgICAgICAgICAgIOKWiOKWiOKVlyAg4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilZcgICDilojilojilZfilojilojilZcK4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWRICAgICDilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWXICAgICAgICAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4paI4paI4pWXICDilojilojilZHilojilojilZEK4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWRICAgICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilojilojilZEgICAgICAgICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWU4paI4paI4pWXIOKWiOKWiOKVkeKWiOKWiOKVkQrilZrilZDilZDilZDilZDilojilojilZHilojilojilZTilZDilZDilojilojilZHilojilojilZEgICAgIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkSAgICAgICAgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilojilojilZHilojilojilZHilZrilojilojilZfilojilojilZHilojilojilZEK4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWRIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWRIOKVmuKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVkQrilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVkOKVkOKVneKVmuKVkOKVnQoqLwoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIHNwICIgIgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgb28gKGxsKSgxZTE2KQojZGVmaW5lIE9PIChsbCkoMWU5KQojZGVmaW5lIGNpbih2ZWMpIGZvcihhdXRvJiBpIDogdmVjKSBjaW4gPj4gaTsKI2RlZmluZSBzeihzKSAoaW50KShzLnNpemUoKSkKI2luY2x1ZGU8ZXh0L3BiX2RzL2Fzc29jX2NvbnRhaW5lci5ocHA+IC8vIGtlZXAtaW5jbHVkZQojaW5jbHVkZTxleHQvcGJfZHMvdHJlZV9wb2xpY3kuaHBwPiAvLyBrZWVwLWluY2x1ZGUKdXNpbmcgbmFtZXNwYWNlIF9fZ251X3BiZHM7CnRlbXBsYXRlIDx0eXBlbmFtZSBrZXk+CnVzaW5nIG9yZGVyZWRfc2V0ID0gdHJlZTxrZXksIG51bGxfdHlwZSwgbGVzc19lcXVhbDxrZXk+LCByYl90cmVlX3RhZywgdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPjsKLy8gIGZpbmRfYnlfb3JkZXIoaykgOgovLyAgSXQgcmV0dXJucyB0byBhbiBpdGVyYXRvciB0byB0aGUgay10aCBlbGVtZW50IChjb3VudGluZyBmcm9tIHplcm8pIGluIHRoZSBzZXQgaW4gTyhsb2duKSB0aW1lLgovLyAgVG8gZmluZCB0aGUgZmlyc3QgZWxlbWVudCBrIG11c3QgYmUgemVyby4KLy8gIG9yZGVyX29mX2tleShrKSA6Ci8vICBJdCByZXR1cm5zIHRvIHRoZSBudW1iZXIgb2YgaXRlbXMgdGhhdCBhcmUgc3RyaWN0bHkgc21hbGxlciB0aGFuIG91ciBpdGVtIGsgaW4gTyhsb2duKSB0aW1lLgppbnQgYXNrKGludCBsLCBpbnQgcikKewogICAgY291dCA8PCAiPyAiIDw8IGwgPDwgc3AgPDwgciA8PCBlbmRsOwogICAgY291dC5mbHVzaCgpOwogICAgaW50IHJldDsKICAgIGNpbiA+PiByZXQ7CiAgICByZXR1cm4gcmV0Owp9CgoKdm9pZCBGQVNUKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKE5VTEwpOwogICAgY291dC50aWUoTlVMTCk7Cn0KCnZvaWQgc29sdmUoKQp7CiAgICBpbnQgbiwgdDsKICAgIGNpbiA+PiBuID4+IHQ7CiAgICB2ZWN0b3I8aW50PiBwcmVmKG4gKyAxLCAtMSk7CgogICAgb3JkZXJlZF9zZXQ8aW50PiBvczsKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgaW50IGs7CiAgICAgICAgY2luID4+IGs7CgogICAgICAgIGludCBsID0gMSwgciA9IG47CiAgICAgICAgd2hpbGUgKGwgPD0gcikKICAgICAgICB7CiAgICAgICAgICAgIGludCBtZCA9IChsICsgcikgLyAyOwogICAgICAgICAgICBpbnQgcCA9IDA7CiAgICAgICAgICAgIGludCBzID0gb3Mub3JkZXJfb2Zfa2V5KG1kICsgMSk7CiAgICAgICAgICAgIGlmIChwcmVmW21kXSAhPSAtMSkKICAgICAgICAgICAgICAgIHAgPSBwcmVmW21kXSArIHM7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcCA9IGFzaygxLCBtZCk7CiAgICAgICAgICAgICAgICBwcmVmW21kXSA9IHAgIC0gczsKICAgICAgICAgICAgfQogICAgICAgICAgICBpbnQgeiA9IG1kIC0gcDsKCiAgICAgICAgICAgIGlmICh6ID49IGspciA9IG1kIC0gMTsKICAgICAgICAgICAgZWxzZSBsID0gbWQgKyAxOwogICAgICAgIH0KICAgICAgICBjb3V0IDw8ICIhICIgPDwgbCA8PCBlbmRsOwogICAgICAgIGNvdXQuZmx1c2goKTsKICAgICAgICBvcy5pbnNlcnQobCk7CiAgICB9Cn0KCgppbnQzMl90IG1haW4oKQp7CiAgICBGQVNUKCk7CiAgICBpbnQgdCA9IDE7CiAgICAvLyBjaW4+PnQ7CiAgICB3aGlsZSAodC0tKQogICAgewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0K