#include <iostream>
#include <vector>
#include "code.h"
#define fi first
#define se second

using namespace std;

int n;

vector<pair<int, int>> ZapisiTacke(int N){

    vector<pair<int, int>> tacke(N+1);

    tacke[1].fi=0;
    tacke[1].se=0;

    for(int i=2;i<=N;i++){
        tacke[i].se=1;
        tacke[i].fi=i-1;
    }

    return tacke;
}

vector<int> Resi(int N, int Q){
    n=N;
    vector<int> ans(N+1);
    int prva=-1;
    vector<int> pot(3);
    for(int i=1;i<=N;i+=3){
        if(i==N){
            pot[0]=N;
            pot[1]=1;
            pot[2]=2;
            break;
        }
        if(i==N-1){
            pot[0]=N;
            pot[1]=N-1;
            pot[2]=1;
            break;
        }
        else{
            int x=Pitaj(i,i+1,i+2);
            //cout<<x<<endl;
            if(x!=0){
                pot[0]=i;
                pot[1]=i+1;
                pot[2]=i+2;
                break;
            }
        }
    }
    int ost=-1;
    if(pot[0]!=1 && pot[1]!=1 && pot[2]!=1)ost=1;
    else if (pot[0]!=2 && pot[1]!=2 && pot[2]!=2)ost=2;
    else if (pot[0]!=3 && pot[1]!=3 && pot[2]!=3)ost=3;
    else ost=4;

    //cout<<pot[0]<<' '<<pot[1]<<' '<<pot[2]<<endl;

    int x=Pitaj(pot[0],pot[1],ost);
    if(x==0)prva=pot[2];
    else{
        x=Pitaj(pot[0],pot[2],ost);
        if(x==0)prva=pot[1];
        else prva=pot[0];
    }
    //cout<<prva<<' '<<ost<<endl;
    vector<int> cnt(n+1,2);
    cnt[prva]=1;
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            if(i==prva || j==prva)continue;
            x=Pitaj(prva,i,j);
            if(x==-1)cnt[j]++;
            else cnt[i]++;
        }

    }
    for(int i=1;i<=N;i++)ans[i]=cnt[i];

    return ans;
}