#include <bits/stdc++.h>
using namespace std;
struct aa {
  int a, b;
} x[2010];
bool com(const aa i, const aa j) { return i.a < j.a; }
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x[i].a;
    x[i].b = i + 1;
  }
  sort(x, x + n, com);
  int sum = 0;
  int pos1 = 0, pos2 = 0;
  for (int i = 0; i < n - 1; i++) {
    if (x[i].a == x[i + 1].a) {
      sum++;
      if (!pos1)
        pos1 = i;
      else
        pos2 = i;
    }
  }
  if (sum < 2)
    cout << "NO" << endl;
  else {
    cout << "YES" << endl;
    for (int i = 0; i < n - 1; i++) {
      cout << x[i].b << ' ';
    }
    cout << x[n - 1].b << endl;
    int temp;
    temp = x[pos1].b;
    x[pos1].b = x[pos1 + 1].b;
    x[pos1 + 1].b = temp;
    for (int i = 0; i < n - 1; i++) {
      cout << x[i].b << ' ';
    }
    cout << x[n - 1].b << endl;
    temp = x[pos2].b;
    x[pos2].b = x[pos2 + 1].b;
    x[pos2 + 1].b = temp;
    for (int i = 0; i < n - 1; i++) {
      cout << x[i].b << ' ';
    }
    cout << x[n - 1].b << endl;
  }
  return 0;
}
