#include <bits/stdc++.h>
#define ll long long
#define inf (ll)(1e15) 
#define mod (ll)1e9+7
#define dbg(x) cerr <<#x << ' ' << x <<endl;
using namespace std;
void printvec(vector<ll>& v)
{
  for (auto &&i : v)
  {
    cout <<i<<' ';
  }
  cout << endl;
}
map<pair<ll,ll>,bool> vis;
map<pair<ll,ll>,ll> ra9m;
vector<pair<ll,ll>> good(pair<ll,ll> cell)
{
  vector<pair<ll,ll>> cells;
  vector<ll> pr={0,-1,1};
  for (int i=0;i<3;i++)
  {
    for (int j=0;j<3;j++)
    {
      if(i==0 && j==0)continue;
      ll v1=pr[i];
      ll v2=pr[j];
      if(!vis[{cell.first+v1,cell.second+v2}] && ra9m[{cell.first+v1,cell.second+v2}])
      {
        cells.push_back({cell.first+v1,cell.second+v2});
      }
    }
  }
  return cells;
}
int main()
{
  ios::sync_with_stdio(0);
  cin.tie(0);
  ll n;
  cin>>n;
  ll t;
  cin>>t;
  priority_queue<pair<ll,ll>,vector<pair<ll,ll>>,greater<pair<ll,ll>>> pq;
  pair<ll,ll> minp={inf,inf};
  for (int i=0;i<n;i++)
  {
    ll c, r;
    cin>>c>>r;
    ra9m[{c,r}]=i+1;
    minp=min(minp,{c,r});
  }
  vector<ll> s;
  pq.push(minp);
  while(!pq.empty())
  {
    pair<ll,ll> tp=pq.top();
    cout << tp.first << ' ' << tp.second << endl;
    pq.pop();
    if(vis[tp])
    {
      continue;
    }
    vis[tp]=1;
    s.push_back(ra9m[tp]);
    vector<pair<ll,ll>> vec=good(tp);
    for (auto &&e : vec)
    {
      pq.push(e);
    }
  }
  if(s.size()!=n)
  {
    cout << "NO" << endl;
  }
  else
  {
    cout <<"YES"<<endl;
    for (int i=0;i<n;i++)
    {
      cout << s[i]<<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... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |