#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <climits>

using namespace std;

int ask(int l, int r) {
	printf("? %d %d\n", l, r);
	fflush(stdout);
	int ans;
	scanf("%d", &ans);
	return ans;
}

int main() {
	//freopen("input.txt", "r", stdin);
	//freopen("output.txt", "w", stdout);

	int n;
	cin >> n;
	vector<int> v;
	v.push_back(1);
	for (int i = 1; i < n; i++)
		v.push_back(ask(i, i + 1) == 1 ? v.back() : -v.back());

	printf("Ready!\n%d\n", ask(1, n));
	for (int i = 0; i < n; i++)
		printf("%d ", (v[i] == 1 ? 1 : 2));
	printf("\n");
	fflush(stdout);

	return 0;
}