#include <bits/stdc++.h>
using namespace std;
int i, j, k, l, s[4], s_indx = 0, m, n, o, p;
int main() {
  float x[8], y[8], x1, y1, x2, y2, sq = 0, r = 0, indx = 0, a, b, c, d,
                                    square[3];
  for (int i = 0; i < 8; i++) {
    cin >> x[i] >> y[i];
  }
  for (i = 0; i <= 4 && indx == 0; i++) {
    for (j = i + 1; j <= 5 && indx == 0; j++) {
      for (k = j + 1; k <= 6 && indx == 0; k++) {
        for (l = k + 1; l <= 7 && indx == 0; l++) {
          x1 = (x[i] + x[j] + x[k] + x[l]) / 4;
          y1 = (y[i] + y[j] + y[k] + y[l]) / 4;
          a = sqrt(pow(x1 - x[i], 2) + pow(y1 - y[i], 2));
          b = sqrt(pow(x1 - x[j], 2) + pow(y1 - y[j], 2));
          c = sqrt(pow(x1 - x[k], 2) + pow(y1 - y[k], 2));
          d = sqrt(pow(x1 - x[l], 2) + pow(y1 - y[l], 2));
          if (a == b && a == c && a == d) {
            indx = 1;
          }
        }
      }
    }
  }
  i -= 1;
  j -= 1;
  k -= 1;
  l -= 1;
  for (int x = 0; x < 8; x++) {
    if (x != i && x != j && x != k && x != l) {
      s[s_indx] = x;
      s_indx += 1;
    }
  }
  m = s[0];
  n = s[1];
  o = s[2];
  p = s[3];
  if (indx == 1) {
    square[0] = sqrt(pow(x[i] - x[j], 2) + pow(y[i] - y[j], 2));
    square[1] = sqrt(pow(x[i] - x[k], 2) + pow(y[i] - y[k], 2));
    square[2] = sqrt(pow(x[i] - x[l], 2) + pow(y[i] - y[l], 2));
    sort(square, square + 3);
    if (square[0] == square[1]) {
      sq = 1;
    } else {
      r = 1;
    }
    x2 = (x[m] + x[n] + x[o] + x[p]) / 4;
    y2 = (y[m] + y[n] + y[o] + y[p]) / 4;
    a = sqrt(pow(x2 - x[m], 2) + pow(y2 - y[m], 2));
    b = sqrt(pow(x2 - x[n], 2) + pow(y2 - y[n], 2));
    c = sqrt(pow(x2 - x[o], 2) + pow(y2 - y[o], 2));
    d = sqrt(pow(x2 - x[p], 2) + pow(y2 - y[p], 2));
    if (a == b && a == c && a == d) {
      square[0] = sqrt(pow(x[m] - x[n], 2) + pow(y[m] - y[n], 2));
      square[1] = sqrt(pow(x[m] - x[o], 2) + pow(y[m] - y[o], 2));
      square[2] = sqrt(pow(x[m] - x[p], 2) + pow(y[m] - y[p], 2));
      sort(square, square + 3);
      if (square[0] == square[1] && sq == 0) {
        sq = 2;
      } else {
        r = 2;
      }
    }
    if (sq != 0 && r != 0) {
      cout << "YES" << endl;
      if (sq == 1) {
        cout << i + 1 << " " << j + 1 << " " << k + 1 << " " << l + 1 << endl;
        cout << m + 1 << " " << n + 1 << " " << o + 1 << " " << p + 1 << endl;
      } else {
        cout << m + 1 << " " << n + 1 << " " << o + 1 << " " << p + 1 << endl;
        cout << i + 1 << " " << j + 1 << " " << k + 1 << " " << l + 1 << endl;
      }
    } else {
      cout << "NO";
    }
  } else {
    cout << "NO";
  }
}
