#include <bits/stdc++.h>
using namespace std;
short heng[3010][3010], shu[3010][3010];
int s[3010][3010];
int X[100010], Y[100010];
int main() {
  int n, x1, y1, x2, y2, i, j, k;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
    X[i] = x1, Y[i] = y1;
    for (k = y1 + 1; k < y2; k++)
      for (j = x1 + 1; j <= x2; j++) heng[k][j] = 1;
    for (k = x1 + 1; k < x2; k++)
      for (j = y1 + 1; j <= y2; j++) shu[k][j] = 1;
    for (j = x1 + 1; j <= x2; j++)
      for (k = y1 + 1; k <= y2; k++) s[j][k] = 1;
  }
  for (i = 1; i <= 3000; i++)
    for (j = 1; j <= 3000; j++) {
      heng[j][i] += heng[j][i - 1];
      shu[i][j] += shu[i][j - 1];
      s[i][j] += s[i][j - 1];
    }
  for (i = 1; i <= 3000; i++)
    for (j = 1; j <= 3000; j++) s[i][j] += s[i - 1][j];
  int is = 0;
  for (i = 1; i <= n; i++) {
    x1 = X[i], y1 = Y[i];
    x2 = x1 + 1, y2 = y1 + 1;
    int l = 1;
    while (x2 <= 3000 && y2 <= 3000) {
      if (heng[y1][x2] - heng[y1][x1]) break;
      if (shu[x1][y2] - shu[x1][y1]) break;
      if (s[x2][y2] - s[x2][y1] - s[x1][y2] + s[x1][y1] < l * l) break;
      if (heng[y2][x2] == heng[y2][x1] && shu[x2][y2] == shu[x2][y1]) {
        is = 1;
        break;
      }
      l++;
      x2++, y2++;
    }
    if (is) break;
  }
  if (!is)
    puts("NO");
  else {
    printf("YES");
    int cnt = 0;
    for (i = 1; i <= n; i++)
      if (X[i] >= x1 && Y[i] >= y1 && X[i] < x2 && Y[i] < y2) cnt++;
    printf(" %d\n", cnt);
    for (i = 1; i <= n; i++)
      if (X[i] >= x1 && Y[i] >= y1 && X[i] < x2 && Y[i] < y2) printf("%d ", i);
    puts("");
  }
}
