#include <bits/stdc++.h>
using namespace std;
long long i, j, k, l, m, n, a[111111], t, t1, b[11], c[1111], s, d[11], e[11];
string p[11111];
int main() {
  for (i = 0; i < 8; i++) {
    cin >> a[i] >> b[i];
  }
  for (i = 0; i < 256; i++) {
    k = i;
    for (j = 0; j < 8; j++) {
      c[j] = k % 2;
      k /= 2;
    }
    s = 0;
    for (j = 0; j < 8; j++) s += c[j];
    if (s == 4) {
      t = 0;
      m = 0;
      for (j = 0; j < 8; j++) {
        if (c[j] == 1) {
          d[m] = a[j];
          e[m] = b[j];
          m++;
        }
      }
      e[4] = e[0];
      d[4] = d[0];
      t1 = 0;
      for (m = 1; m < 4; m++) {
        if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
            0)
          t1++;
      }
      if (t1 == 3 &&
          (e[0] - e[2]) * (e[1] - e[3]) + (d[0] - d[2]) * (d[1] - d[3]) == 0)
        t = 1;
      swap(e[0], e[1]);
      swap(d[0], d[1]);
      e[4] = e[0];
      d[4] = d[0];
      t1 = 0;
      for (m = 1; m < 4; m++) {
        if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
            0)
          t1++;
      }
      if (t1 == 3 &&
          (e[0] - e[2]) * (e[1] - e[3]) + (d[0] - d[2]) * (d[1] - d[3]) == 0)
        t = 1;
      swap(e[0], e[3]);
      swap(d[0], d[3]);
      e[4] = e[0];
      d[4] = d[0];
      t1 = 0;
      for (m = 1; m < 4; m++) {
        if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
            0)
          t1++;
      }
      if (t1 == 3 &&
          (e[0] - e[2]) * (e[1] - e[3]) + (d[0] - d[2]) * (d[1] - d[3]) == 0)
        t = 1;
      if (t == 1) {
        t = 0;
        m = 0;
        for (j = 0; j < 8; j++) {
          if (c[j] == 0) {
            d[m] = a[j];
            e[m] = b[j];
            m++;
          }
        }
        e[4] = e[0];
        d[4] = d[0];
        t1 = 0;
        for (m = 1; m < 4; m++) {
          if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                  (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
              0)
            t1++;
        }
        if (t1 == 3) t = 1;
        swap(e[0], e[1]);
        swap(d[0], d[1]);
        e[4] = e[0];
        d[4] = d[0];
        t1 = 0;
        for (m = 1; m < 4; m++) {
          if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                  (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
              0)
            t1++;
        }
        if (t1 == 3) t = 1;
        swap(e[0], e[3]);
        swap(d[0], d[3]);
        e[4] = e[0];
        d[4] = d[0];
        t1 = 0;
        for (m = 1; m < 4; m++) {
          if ((e[m] - e[m - 1]) * (e[m] - e[m + 1]) +
                  (d[m] - d[m - 1]) * (d[m] - d[m + 1]) ==
              0)
            t1++;
        }
        if (t1 == 3) t = 1;
        if (t == 1) {
          cout << "YES" << endl;
          for (j = 0; j < 8; j++)
            if (c[j] == 1) cout << j + 1 << ' ';
          cout << endl;
          for (j = 0; j < 8; j++)
            if (c[j] == 0) cout << j + 1 << ' ';
          return 0;
        }
      }
    }
  }
  cout << "NO";
}
