#include <bits/stdc++.h>
using namespace std;
struct pvec {
  long long int x, y;
  pvec(long long int x = 0, long long int y = 0) : x(x), y(y) {}
  pvec operator-(pvec p) { return pvec(x - p.x, y - p.y); }
  bool operator==(pvec p) { return x == p.x and y == p.y; }
  long long int dot(pvec p) { return x * p.x + y * p.y; }
  long long int abs2() { return x * x + y * y; }
};
pvec v[12], Q[12], R[12];
long long int Qi[12], Ri[12];
long long int perm[][3] = {{1, 2, 3}, {1, 3, 2}, {2, 1, 3},
                           {2, 3, 1}, {3, 1, 2}, {3, 2, 1}};
inline bool quadrado() {
  for (long long int i = 0; i < 6; i++) {
    pvec p0 = Q[0];
    pvec p1 = Q[perm[i][0]];
    pvec p2 = Q[perm[i][1]];
    pvec p3 = Q[perm[i][2]];
    pvec v1 = p1 - p0, v2 = p2 - p1, v3 = (p2 - p3), v4 = (p3 - p0);
    if (!(v1 == v3 and v2 == v4)) continue;
    if (v1.abs2() != v2.abs2()) continue;
    if (v1.dot(v2) != 0) continue;
    return true;
  }
  return false;
}
inline bool retangulo() {
  for (long long int i = 0; i < 6; i++) {
    pvec p0 = R[0];
    pvec p1 = R[perm[i][0]];
    pvec p2 = R[perm[i][1]];
    pvec p3 = R[perm[i][2]];
    pvec v1 = p1 - p0, v2 = p2 - p1, v3 = (p2 - p3), v4 = (p3 - p0);
    if (!(v1 == v3 and v2 == v4)) continue;
    if (v1.dot(v2) != 0) continue;
    return true;
  }
  return false;
}
bool da(long long int u, long long int quad, long long int ret) {
  if (quad > 4 or ret > 4) return false;
  if (u == 8) {
    if (quadrado() and retangulo()) return true;
    return false;
  }
  Q[quad] = v[u];
  Qi[quad] = u;
  if (da(u + 1, quad + 1, ret)) return true;
  R[ret] = v[u];
  Ri[ret] = u;
  if (da(u + 1, quad, ret + 1)) return true;
  return false;
}
int main() {
  for (long long int i = 0; i < 8; i++) {
    long long int x, y;
    cin >> x >> y;
    v[i] = pvec(x, y);
  }
  if (!da(0, 0, 0)) {
    cout << "NO" << endl;
  } else {
    cout << "YES" << endl;
    for (long long int i = 0; i < 4; i++) {
      if (i) printf(" ");
      cout << Qi[i] + 1;
    }
    cout << endl;
    for (long long int i = 0; i < 4; i++) {
      if (i) printf(" ");
      cout << Ri[i] + 1;
    }
    cout << endl;
  }
  return 0;
}
