#include <bits/stdc++.h>
using namespace std;
int v[3000];
int main() {
  bool trip = false;
  int nrep = 0;
  int n;
  map<int, vector<int> > m;
  scanf("%d", &n);
  for (int(i) = 1; (i) <= (n); (i)++) {
    scanf("%d", &v[i]);
    if (m[v[i]].size() == 1)
      nrep++;
    else if (m[v[i]].size() > 1)
      trip = true;
    m[v[i]].push_back(i);
  }
  if (trip || nrep >= 2) {
    printf("YES\n");
    vector<int> resp1, resp2, resp3;
    bool rep = false;
    for (map<int, vector<int> >::iterator it = m.begin(); it != m.end(); it++) {
      if ((int)(it->second).size() == 1) {
        int el = (it->second)[0];
        resp1.push_back(el);
        resp2.push_back(el);
        resp3.push_back(el);
      } else if ((int)(it->second).size() == 2) {
        int e1 = (it->second)[0], e2 = (it->second)[1];
        resp1.push_back(e1);
        resp1.push_back(e2);
        if (rep) {
          resp2.push_back(e1);
          resp2.push_back(e2);
          resp3.push_back(e2);
          resp3.push_back(e1);
        } else {
          resp2.push_back(e2);
          resp2.push_back(e1);
          resp3.push_back(e1);
          resp3.push_back(e2);
        }
        rep = true;
      } else {
        int e1 = (it->second)[0], e2 = (it->second)[1], e3 = (it->second)[2];
        resp1.push_back(e1);
        resp1.push_back(e2);
        resp1.push_back(e3);
        resp2.push_back(e1);
        resp2.push_back(e3);
        resp2.push_back(e2);
        resp3.push_back(e3);
        resp3.push_back(e2);
        resp3.push_back(e1);
        for (int i = 3; i < (int)(it->second).size(); i++) {
          resp1.push_back((it->second)[i]);
          resp2.push_back((it->second)[i]);
          resp3.push_back((it->second)[i]);
        }
      }
    }
    for (int(i) = 0; (i) < (n); (i)++)
      printf("%d%c", resp1[i], i == (n - 1) ? '\n' : ' ');
    for (int(i) = 0; (i) < (n); (i)++)
      printf("%d%c", resp2[i], i == (n - 1) ? '\n' : ' ');
    for (int(i) = 0; (i) < (n); (i)++)
      printf("%d%c", resp3[i], i == (n - 1) ? '\n' : ' ');
  } else
    printf("NO\n");
  return 0;
}
