#include <bits/stdc++.h>
using namespace std;
int x[1001], y[1001], xa[1001], ya[1001], xb[1001], yb[1001], n, a[1001],
    b[101];
int dist(int i, int j, int x[], int y[]) {
  return (x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j]);
}
bool square(int x[], int y[]) {
  int i, j, k;
  for (i = 1; i < 4; i++) {
    int len = dist(0, i, x, y);
    if (!len) return 0;
    for (j = 1; j < 4; j++) {
      if (i != j && len == dist(0, j, x, y)) {
        for (k = 1; k < 4; k++)
          if (k != i && k != j) break;
        if (dist(i, k, x, y) == len && dist(j, k, x, y) == len &&
            dist(0, k, x, y) == 2 * len)
          return 1;
      }
    }
  }
  return 0;
}
bool rect(int x[], int y[]) {
  int i, j, k;
  for (i = 1; i < 4; i++) {
    int len1 = dist(0, i, x, y);
    for (j = 1; j < 4; j++) {
      int len2 = dist(0, j, x, y);
      if (!len1 || !len2) return 0;
      if (i != j && dist(i, j, x, y) == len1 + len2) {
        for (k = 1; k < 4; k++)
          if (k != i && k != j) break;
        if (dist(i, k, x, y) == len2 && dist(j, k, x, y) == len1 &&
            dist(0, k, x, y) == len1 + len2)
          return 1;
      }
    }
  }
  return 0;
}
int main() {
  int i, j, k, p, q;
  for ((i) = 0; (i) < (8); (i)++) scanf("%d %d", &x[i], &y[i]);
  for ((i) = 0; (i) < (8); (i)++) {
    xb[0] = x[i];
    yb[0] = y[i];
    for ((j) = 0; (j) < (8); (j)++) {
      xb[1] = x[j];
      yb[1] = y[j];
      if (j != i)
        for ((k) = 0; (k) < (8); (k)++) {
          xb[2] = x[k];
          yb[2] = y[k];
          if (k != i && k != j)
            for ((p) = 0; (p) < (8); (p)++) {
              xb[3] = x[p];
              yb[3] = y[p];
              if (p != i && p != j && p != k && square(xb, yb)) {
                int ind = 0;
                for ((q) = 0; (q) < (8); (q)++)
                  if (q != i && q != j && q != k && q != p) {
                    xa[ind] = x[q];
                    ya[ind] = y[q];
                    a[ind++] = q;
                  }
                if (rect(xa, ya)) {
                  printf("YES\n");
                  printf("%d %d %d %d\n", i + 1, j + 1, k + 1, p + 1);
                  for ((q) = 0; (q) < (4); (q)++) printf("%d ", a[q] + 1);
                  return 0;
                }
              }
            }
        }
    }
  }
  printf("NO\n");
  return 0;
}
