#include <bits/stdc++.h>
using namespace std;
int x[100], y[100];
int l1, l2, l3, l4, s, f[10], n;
int len(int g1, int g2) {
  int res =
      (((x[g1] - x[g2]) * (x[g1] - x[g2]) + (y[g1] - y[g2]) * (y[g1] - y[g2])));
  return res;
}
bool prr(int kk1, int kk2, int kk3, int kk4) {
  int ii, jj = 0, aa[4], kk, qq;
  for (ii = 0; ii < 8; ii++)
    if (ii != kk1 && ii != kk2 && ii != kk3 && ii != kk4) {
      aa[jj++] = ii;
    }
  for (ii = 0; ii < 4; ii++)
    for (jj = 0; jj < 4; jj++)
      for (kk = 0; kk < 4; kk++)
        for (qq = 0; qq < 4; qq++)
          if (ii != jj && ii != kk && ii != qq && jj != kk && jj != qq &&
              kk != qq)
            if (len(aa[ii], aa[jj]) == len(aa[kk], aa[qq]) &&
                len(aa[ii], aa[jj]) ==
                    len(aa[ii], aa[kk]) + len(aa[ii], aa[qq]) &&
                len(aa[qq], aa[kk]) ==
                    len(aa[ii], aa[kk]) + len(aa[jj], aa[kk]) &&
                len(aa[ii], aa[qq]) == len(aa[kk], aa[jj]) &&
                len(aa[ii], aa[kk]) == len(aa[jj], aa[qq]))
              return true;
  return false;
}
bool kv(int q1, int q2, int q3, int q4) {
  int i, a[4], j, k, q;
  a[0] = q1;
  a[1] = q2;
  a[2] = q3;
  a[3] = q4;
  for (i = 0; i < 4; i++)
    for (j = 0; j < 4; j++)
      for (k = 0; k < 4; k++)
        for (q = 0; q < 4; q++)
          if (i != j && j != k && i != k && i != q && j != q && k != q) {
            if (len(a[i], a[j]) == len(a[k], a[q]) &&
                len(a[i], a[j]) == len(a[i], a[q]) + len(a[i], a[k]) &&
                len(a[i], a[k]) == len(a[i], a[q]) &&
                len(a[k], a[q]) == len(a[k], a[i]) + len(a[k], a[j]) &&
                len(a[q], a[i]) == len(a[q], a[j])) {
              if (prr(q1, q2, q3, q4)) return true;
            }
          }
  return false;
}
int main() {
  for (l1 = 0; l1 < 8; l1++) scanf("%d %d", &x[l1], &y[l1]);
  for (l1 = 0; l1 < 8; l1++)
    for (l2 = 0; l2 < 8; l2++)
      for (l3 = 0; l3 < 8; l3++)
        for (l4 = 0; l4 < 8; l4++)
          if (l1 != l2 && l1 != l3 && l1 != l4 && l2 != l3 && l2 != l4 &&
              l3 != l4 && kv(l1, l2, l3, l4)) {
            printf("YES\n");
            printf("%d %d %d %d\n", l1 + 1, l2 + 1, l3 + 1, l4 + 1);
            for (s = 0; s < 8; s++)
              if (s != l1 && s != l2 && s != l3 && s != l4) f[n++] = s;
            for (s = 0; s < 3; s++) printf("%d ", f[s] + 1);
            printf("%d\n", f[3] + 1);
            return 0;
          }
  printf("NO\n");
  return 0;
}
