#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > points;
pair<int, int> dif(pair<int, int> pa, pair<int, int> pb) {
  pair<int, int> res;
  res.first = pb.first - pa.first;
  res.second = pb.second - pa.second;
  return res;
}
int dot(pair<int, int> a, pair<int, int> b) {
  return a.first * b.first + a.second * b.second;
}
double dist(pair<int, int> a, pair<int, int> b) {
  return ((double)((a.first - b.first) * (a.first - b.first) +
                   (a.second - b.second) * (a.second - b.second)));
}
double len(pair<int, int> a) { return dist(a, make_pair(0, 0)); }
int main() {
  for (int i = 0; i < 8; i++) {
    int x, y;
    cin >> x >> y;
    points.push_back(make_pair(x, y));
  }
  vector<int> perm;
  for (int i = 0; i < 8; i++) perm.push_back(i);
  int cnt = 0;
  bool found = false;
  do {
    cnt++;
    bool fs = false, ss = false;
    bool fis = true, sif = true;
    pair<int, int> a = points[perm[0]];
    pair<int, int> b = points[perm[1]];
    pair<int, int> c = points[perm[2]];
    pair<int, int> d = points[perm[3]];
    pair<int, int> e = points[perm[4]];
    pair<int, int> f = points[perm[5]];
    pair<int, int> g = points[perm[6]];
    pair<int, int> h = points[perm[7]];
    pair<int, int> ab = dif(a, b);
    pair<int, int> bc = dif(b, c);
    pair<int, int> cd = dif(c, d);
    pair<int, int> da = dif(d, a);
    fs = (dot(ab, bc) == 0 && dot(bc, cd) == 0 && dot(cd, da) == 0 &&
          dot(da, ab) == 0 && fabs(len(ab) - len(bc)) < 0.01 &&
          fabs(len(bc) - len(cd)) < 0.01 && fabs(len(cd) - len(da)) < 0.01);
    pair<int, int> ef = dif(e, f);
    pair<int, int> fg = dif(f, g);
    pair<int, int> gh = dif(g, h);
    pair<int, int> he = dif(h, e);
    ss = (dot(ef, fg) == 0 && dot(fg, gh) == 0 && dot(gh, he) == 0 &&
          dot(he, ef) == 0 && fabs(len(ef) - len(gh)) < 0.01 &&
          fabs(len(fg) - len(he)) < 0.01);
    if (ss && fs) {
      found = true;
      break;
    }
  } while (next_permutation(perm.begin(), perm.end()));
  if (found) {
    cout << "YES" << endl;
    for (int i = 0; i < 4; i++) {
      if (i != 0) cout << " ";
      cout << perm[i] + 1;
    }
    cout << endl;
    for (int i = 4; i < 8; i++) {
      if (i != 4) cout << " ";
      cout << perm[i] + 1;
    }
    cout << endl;
  } else
    cout << "NO" << endl;
  return 0;
}
