#include <bits/stdc++.h>
using namespace std;
int main() {
  int i, j, k, l, m, n;
  pair<int, int> pts[8];
  for (i = 0; i < 8; i++) {
    int a, b;
    scanf("%d %d", &a, &b);
    pts[i] = make_pair(a, b);
  }
  int perm[] = {0, 1, 2, 3, 4, 5, 6, 7};
  do {
    pair<long double, long double> s1 =
        make_pair((pts[perm[0]].first + pts[perm[2]].first) / 2.0,
                  (pts[perm[0]].second + pts[perm[2]].second) / 2.0);
    pair<long double, long double> s2 =
        make_pair((pts[perm[4]].first + pts[perm[6]].first) / 2.0,
                  (pts[perm[4]].second + pts[perm[6]].second) / 2.0);
    bool ok = true;
    long double d1 =
        ((pts[perm[0]].first - s1.first) * (pts[perm[0]].first - s1.first) +
         (pts[perm[0]].second - s1.second) * (pts[perm[0]].second - s1.second));
    long double d2 =
        ((pts[perm[4]].first - s2.first) * (pts[perm[4]].first - s2.first) +
         (pts[perm[4]].second - s2.second) * (pts[perm[4]].second - s2.second));
    for (i = 0; i < 4; i++)
      if (fabs(((pts[perm[i]].first - s1.first) *
                    (pts[perm[i]].first - s1.first) +
                (pts[perm[i]].second - s1.second) *
                    (pts[perm[i]].second - s1.second)) -
               d1) > 10e-9)
        ok = false;
    for (i = 0; i < 4; i++)
      if (fabs(((pts[perm[i + 4]].first - s2.first) *
                    (pts[perm[i + 4]].first - s2.first) +
                (pts[perm[i + 4]].second - s2.second) *
                    (pts[perm[i + 4]].second - s2.second)) -
               d2) > 10e-9)
        ok = false;
    if (fabs(((pts[perm[0]].first - pts[perm[2]].first) *
                  (pts[perm[0]].first - pts[perm[2]].first) +
              (pts[perm[0]].second - pts[perm[2]].second) *
                  (pts[perm[0]].second - pts[perm[2]].second)) -
             2 * ((pts[perm[0]].first - pts[perm[1]].first) *
                      (pts[perm[0]].first - pts[perm[1]].first) +
                  (pts[perm[0]].second - pts[perm[1]].second) *
                      (pts[perm[0]].second - pts[perm[1]].second))) > 10e-9)
      ok = false;
    if (fabs(((pts[perm[0]].first - pts[perm[2]].first) *
                  (pts[perm[0]].first - pts[perm[2]].first) +
              (pts[perm[0]].second - pts[perm[2]].second) *
                  (pts[perm[0]].second - pts[perm[2]].second)) -
             2 * ((pts[perm[0]].first - pts[perm[3]].first) *
                      (pts[perm[0]].first - pts[perm[3]].first) +
                  (pts[perm[0]].second - pts[perm[3]].second) *
                      (pts[perm[0]].second - pts[perm[3]].second))) > 10e-9)
      ok = false;
    if (fabs(((pts[perm[4]].first - pts[perm[6]].first) *
                  (pts[perm[4]].first - pts[perm[6]].first) +
              (pts[perm[4]].second - pts[perm[6]].second) *
                  (pts[perm[4]].second - pts[perm[6]].second)) -
             ((pts[perm[4]].first - pts[perm[5]].first) *
                  (pts[perm[4]].first - pts[perm[5]].first) +
              (pts[perm[4]].second - pts[perm[5]].second) *
                  (pts[perm[4]].second - pts[perm[5]].second)) -
             ((pts[perm[5]].first - pts[perm[6]].first) *
                  (pts[perm[5]].first - pts[perm[6]].first) +
              (pts[perm[5]].second - pts[perm[6]].second) *
                  (pts[perm[5]].second - pts[perm[6]].second))) > 10e-9)
      ok = false;
    if (fabs(((pts[perm[4]].first - pts[perm[6]].first) *
                  (pts[perm[4]].first - pts[perm[6]].first) +
              (pts[perm[4]].second - pts[perm[6]].second) *
                  (pts[perm[4]].second - pts[perm[6]].second)) -
             ((pts[perm[4]].first - pts[perm[7]].first) *
                  (pts[perm[4]].first - pts[perm[7]].first) +
              (pts[perm[4]].second - pts[perm[7]].second) *
                  (pts[perm[4]].second - pts[perm[7]].second)) -
             ((pts[perm[6]].first - pts[perm[7]].first) *
                  (pts[perm[6]].first - pts[perm[7]].first) +
              (pts[perm[6]].second - pts[perm[7]].second) *
                  (pts[perm[6]].second - pts[perm[7]].second))) > 10e-9)
      ok = false;
    if (ok) {
      printf("YES\n");
      for (i = 0; i < 4; i++) printf("%d ", perm[i] + 1);
      printf("\n");
      for (i = 0; i < 4; i++) printf("%d ", perm[i + 4] + 1);
      return 0;
    }
  } while (next_permutation(perm, perm + 8));
  printf("NO");
  return 0;
}
