#include <bits/stdc++.h>
#include "code.h"
using namespace std;
namespace {
    static vector<pair<int, int>> points;
    static vector<int> p;
    static int n;
    static int q;
    static int qt;
}
map<int,int>mpy;
int sn,nn,ostatak;
vector<int>x_par[1000];
vector<int>y_par[1000];
vector<pair<int, int>> ZapisiTacke(int n){
vector<pair<int,int>>t;
t.resize(n+1);
sn=sqrt(n)-2;
cout<<sn<<endl;
t[1]={-1,1};

int cnt=1;
for(int i = 2;i<=n;i++){
t[i+1]={i,0};
}
return t;
}
vector<int> Resi(int n, int q){
vector<int>a[n+1];
int br=0;
int ii=1;
int k=1;
for(int i = 2;i<=n;i++)
for(int j = 2;j<=n;j++)
if(i!=k&&i!=j&&j!=k){
int x=Pitaj(i,j,k);
if(x==1){
a[i].push_back(j);
}
}
map<int,int>mp;
mp[1]=1;
for(int i = 2;i<=n;i++)
mp[i]=n-a[i].size();
vector<int>help(n+1);
for(int i = 1;i<=n;i++)
help[i]=mp[i];
return help;
}

/*
int main() {
    cin >> n >> q;

    points = ZapisiTacke(n);
    set<pair<int, int>> used_points;

    assert((int)points.size() == n + 1);

    for (int i = 1; i <= n; i++) {
        int x, y;
        x = points[i].first;
        y = points[i].second;

        assert(!used_points.count({x, y}));
        used_points.insert({x, y});
        assert(-1000000000LL <= x && x <= 1000000000LL);
        assert(-1000000000LL <= y && y <= 1000000000LL);
    }

    p.resize(n + 1);
    for (int i = 1; i <= n; i++) {
        cin>>p[i];
    }
    vector<int> provera_permutacije = p;
    sort(provera_permutacije.begin()+1, provera_permutacije.end());
    for(int i = 1; i<=n; i++){
        assert(provera_permutacije[i] == i);
    }
    qt = q;

    vector<int> ans = Resi(n, q);

    assert((int)ans.size() == n + 1);

    for (int i = 1; i <= n; i++) {
        if (i > 1) cout << ' ';
        cout << ans[i];
    }
    cout << '\n';

    return 0;
}
*/