/*
TASK:GREEN
LANG:C++
*/

#include<iostream.h>
#include<math.h>
 struct dot{
 int x,y;
 }*A;

 double S(int n);
 int main()
 {
  int i,n,br=0,j;
  double min=100000000;
  n=1;
  while(n!=0)
  {
   br++;
   cin>>n;
   A=new struct dot [n];
   for(i=0;i<n;i++)
    {
     cin>>A[i].x>>A[i].y;
    }
   double p=S(n);
   if(p!=0 && p<min){min=p; j=br;}
   delete A;
  }
 cout<<j<<endl;
 return 0;
 }

 double S(int n)
 {
  double p,a,b,c,s=0;
  int r=2,l=1,i=0,br;
  char used[1000];
  for(i=0;i<n;i++)used[i]=0;
  i=0;
  for(br=0;br<n-2;br++)
  {
   a=sqrt((A[i].x-A[l].x)*(A[i].x-A[l].x) + (A[i].y-A[l].y)*(A[i].y-A[l].y));
   b=sqrt((A[r].x-A[i].x)*(A[r].x-A[i].x) + (A[r].y-A[i].y)*(A[r].y-A[i].y));
   c=sqrt((A[r].x-A[l].x)*(A[r].x-A[l].x) + (A[r].y-A[l].y)*(A[r].y-A[l].y));
   p=(a+b+c)/2;
   s+=sqrt(p*(p-a)*(p-b)*(p-c));
   l++; r++;
  }
  return s;
 }



