/*
TASK:green
LANG:C
*/


#include <stdio.h>
#define MAX 8192

FILE *in; FILE *out;
int a[MAX][128][2];



int sort(const void *a, const void *b)
{
int *aa, *bb;

aa = (int*)a;
bb = (int*)b;

return (*aa-*bb);
}


int findarea(int p1, int p2, int p3, int p4, int p5, int p6)
{
int i, tmp1, tmp2, area;

tmp1 = 0; tmp2 = 0; area = 0;

tmp1 += p1 * p4;
tmp1 += p3 * p6;
tmp1 += p2 * p5;

tmp2 += p1 * p6;
tmp2 += p2 * p3;
tmp2 += p4 * p5;

area = tmp1 - tmp2;
if (area<0) area*=-1;

return area;
}


int main(void)
{
int i, c, j, n, cnt=0;
int ans=0, min=13371337, cur;

in = stdin; out = stdout;


for (i=0; i<MAX; i++) for (c=0; c<100; c++) {a[i][c][0]=0; a[i][c][1]=0;}

//in = fopen("green.in", "rt"); out = fopen("green.out", "wt");

fscanf(in, "%d", &n);
while (n)
    {
    cnt++; a[cnt][0][0]=n; a[cnt][0][1]=n;
    for (i=1; i<=n; i++)
        {
        fscanf(in, "%d %d", &a[cnt][i][0], &a[cnt][i][1]);
        }
    
    fscanf(in, "%d", &n);
    }
fclose(in);


//qsort(a, 5, sizeof(int), sort);


for (i=1; i<=cnt; i++)
    {
    cur = 0;
    for (c=2; c<=a[i][0][0]-1; c++)
        {
        cur += findarea(a[i][1][0], a[i][1][1], a[i][c][0], a[i][c][1], a[i][c+1][0], a[i][c+1][1]);
        }
//        fprintf(out, "The Double Area of figure %d is: %d\n", i, cur);
    if (min>=cur)
        {
        if (min>cur) {ans = i; min = cur;}
        else if (a[ans][0][0]>a[i][0][0]) {ans = i; min = cur;}
        }
    }


fprintf(out, "%d\n", ans);
fclose(out);


return 0;
}

