#include #include #include #define MALE 1e-6 #define MOC 100000000 #define stejne(x,y) (-MALE<((x)-(y))&&((x)-(y))x==b->x) return a->y-b->y; return a->x-b->x; } int porsme(z *a,z *b) { if (!ruzne(a->smer,b->smer)) return (a>b)-(b>a); return (a->smer>b->smer)-(b->smer>a->smer); } z zad[1000]; z osor[1000]; z vsor[1000]; void vypis(int od,int zac,int k) { int i; printf("(%d,%d)",zad[od].x,zad[od].y); printf("(%d,%d)",osor[zac].x,osor[zac].y); for (i=zac+1;i10) printf("%d\n",1/0); printf("\n"); } double smerof(z a,z b) { if (a.x==b.x) return MOC; return ((double)(b.y-a.y))/(b.x-a.x); } int main(void) { int n,i,j,jj,x,y,fst; while (1) { n=0; while (1) { scanf("%d%d",&x,&y); if (!x&&!y) break; zad[n].x=x; zad[n].y=y; n++; } if (!n) return 0; qsort(zad,n,sizeof(z),(int (*)(const void *,const void *)) porslo); fst=1; for (i=0;i