#include<iostream>
#include<fstream>
#include<string>
#include<algorithm>
#include<vector>

using namespace std;

#define all(x) x.begin(), x.end()
#define ll long long

int main() {
	int n;
	cin >> n;
	int l = 1, r = n + 1;
	int ans;
	cout << "? 1 " << n << "\n";
	cout.flush();
	cin >> ans;
	int q = ans;
	vector<int> arr(n, 0);
	while (1) {
		while (r - l > 1) {
			int md = (r + l) / 2;
			cout << "? " << md << " " << n << "\n";
			cout.flush();
			int x;
			cin >> x;
			if (x == 1)
				r = md;
			else
				l = md;
		}
		for (int i = l; i < n; i++)
			arr[i] = q;
		q--;
		if (q == 1) {
			for (int i = 0; i < l; i++)
				arr[i] = 1;
			cout << "Ready!\n";
			cout << ans << "\n";
			for (int i = 0; i < arr.size(); i++)
				cout << arr[i] << " ";
			cout.flush();
			return 0;
		}
		l = 1, r = l + 1;
	}
	
	return 0;
}