#include<stdio.h>
#include<set>

using namespace std;
//fflush(stdout);
int main(){
    int n;
    int k = 0;
    scanf("%d", &n);
    int a[n];
    set<int> st;

    for (int i = 0; i < n; i++){
        int l = -1, r = i;
        while (r-l > 1){
            int m = (l+r)/2;
            printf("? %d %d\n", m+1, i+1);
            fflush(stdout);
            int get;
            scanf("%d", &get);
            st.clear();
            for (int j = m; j < i; j++){
                st.insert(a[j]);
            }
            if (st.size() == get){
                l = m;
            }
            else{
                r = m;
            }
        }
        if (l == -1){
            k++;
            a[i] = k;
        }
        else{
            a[i] = a[l];
        }
    }

    printf("Ready!\n%d\n", k);
    for (int i = 0; i < n; i++){
        printf("%d ", a[i]);
    }
    fflush(stdout);
}
