
#include <stdio.h>

#define MAX_VRHOVA 10000

int broj_vrhova;
long povrsina;

struct {
         int x,y;
       } vrhovi[MAX_VRHOVA + 1];

void ucitaj_podatke(void)
{
  int i;
  FILE *fp;

  fp = fopen("LIK.IN","rt");

  fscanf(fp,"%d",&broj_vrhova);

  for (i = 0;i < broj_vrhova;++i)
    fscanf(fp,"%d%d",&vrhovi[i].x,&vrhovi[i].y);

  vrhovi[broj_vrhova] = vrhovi[0];

  fclose(fp);
}

void rijesi(void)
{
  int i;

  povrsina = 0l;

  for (i = 0;i < broj_vrhova;++i)
    if (vrhovi[i].y == vrhovi[i + 1].y)
      povrsina += ((long) vrhovi[i].y) * (vrhovi[i].x - vrhovi[i + 1].x);

  if (povrsina < 0l)
    povrsina = -povrsina;
}

void zapisi_rjesenje(void)
{
  FILE *fp;

  fp = fopen("LIK.OUT","wt");

  fprintf(fp,"%ld\n",povrsina);

  fclose(fp);
}

int main(void)
{
  ucitaj_podatke();
  rijesi();
  zapisi_rjesenje();

  return 0;
}
