#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int a[n+1];
    cout<<n<<" ";
    for(int i=1; i<=n; i++){
        a[i]=i;
        cout<<i<<" ";
    }
    cout<<endl;
    int yayay;
    cin>>yayay;
    vector<int>v[yayay+1];
    if(yayay==n){
        cout<<0<<" ";
        for(int i=1; i<=n; i++){
            cout<<i<<" ";
        }
        cout<<endl;
        exit(0);
    }
    else if(yayay==1){
        cout<<0<<" ";
        for(int i=1; i<=n; i++){
            cout<<1<<" ";
        }
        cout<<endl;
        exit(0);
    }
    //int x[yayay+1];
    int m=1,h=1,g=1;
    v[1].push_back(1);
    while(m<n){
        m++;
        cout<<m<<" ";
        for(int i=1; i<=m; i++){
            cout<<i<<" ";
        }
        cout<<endl;
        int k;
        cin>>k;
        if(k==h+1){
            h++;
            g++;
            v[g].push_back(m);
        }
        else{
            for(int i=1; i<m; i++){
                cout<<2<<" ";
                cout<<i<<" "<<m<<endl;
                int y;
                cin>>y;
                if(y==1){
                    v[i].push_back(m);
                    break;
                }
            }
        }
    }
    cout<<0<<" ";
    for(int i=1; i<=m; i++){
        int ha=0;
        for(int j=1; j<=yayay+1; j++){
            for(auto a:v[j]){
                if(a==i){
                    ha=1;
                    cout<<j<<" ";
                    break;
                }
            }
            if(ha==1)break;
        }
    }
    cout<<endl;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |