#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  scanf("%d", &n);
  vector<int> l(n), r(n);
  vector<pair<int, int>> st[n];
  for (int i = 0; i < n; i++) {
    scanf("%d%d", &l[i], &r[i]), l[i]--, r[i]--;
    st[l[i]].push_back({r[i], i});
  }
  set<pair<int, int>> sii;
  pair<int, int> prs = {-1, -1};
  vector<int> ans(n), dq;
  for (int i = 0; i < n; i++) {
    for (auto& p : st[i]) sii.insert(p);
    int x = sii.begin()->second;
    sii.erase(sii.begin());
    ans[x] = i;
    while (!dq.empty() && r[dq.back()] < i) dq.pop_back();
    if (!dq.empty() && l[x] <= ans[dq.back()]) prs = {dq.back(), x};
    dq.push_back(x);
  }
  printf(~prs.first ? "NO\n" : "YES\n");
  for (int& i : ans) printf("%d ", i + 1);
  printf("\n");
  if (prs.first == -1) return 0;
  swap(ans[prs.first], ans[prs.second]);
  for (int& i : ans) printf("%d ", i + 1);
  printf("\n");
}
