Language: C

typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}

Compiler output:
main.c:1:43: warning: data definition has no type or storage class
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                           ^
main.c:1:43: error: type defaults to 'int' in declaration of 'm' [-Wimplicit-int]
main.c:1:45: error: type defaults to 'int' in declaration of 'v' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                             ^
main.c:1:52: error: type defaults to 'int' in declaration of 'n' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                    ^
main.c:1:54: error: type defaults to 'int' in declaration of 'j' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                      ^
main.c:1:56: error: type defaults to 'int' in declaration of 'r' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                        ^
main.c:1:58: error: return type defaults to 'int' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                          ^
main.c:1:159: error: return type defaults to 'int' [-Wimplicit-int]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                                                                                                                               ^~~~
main.c: In function 'main':
main.c:1:159: error: type of 'i' defaults to 'int' [-Wimplicit-int]
main.c:1:174: error: implicit declaration of function 'scanf' [-Wimplicit-function-declaration]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                                                                                                                                              ^~~~~
main.c:1:1: note: include '<stdio.h>' or provide a declaration of 'scanf'
  +++ |+#include <stdio.h>
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
main.c:1:174: warning: incompatible implicit declaration of built-in function 'scanf' [-Wbuiltin-declaration-mismatch]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                                                                                                                                              ^~~~~
main.c:1:174: note: include '<stdio.h>' or provide a declaration of 'scanf'
main.c:1:316: error: implicit declaration of function 'hypot' [-Wimplicit-function-declaration]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                                                                                                                                                                                                                                                                                            ^~~~~
main.c:1:1: note: include '<math.h>' or provide a declaration of 'hypot'
  +++ |+#include <math.h>
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
main.c:1:316: warning: incompatible implicit declaration of built-in function 'hypot' [-Wbuiltin-declaration-mismatch]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |                                                                                                                                                                                                                                                                                                                            ^~~~~
main.c:1:316: note: include '<math.h>' or provide a declaration of 'hypot'
main.c:1:345: error: implicit declaration of function 'qsort' [-Wimplicit-function-declaration]
    1 | typedef struct{double x,y,k;}w;w p[100],b;m,v[100],n,j,r;z(w*c,w*d){r=c->k>d->k?-1:1;}double o(w q,w r,w s){return q.x*(r.y-s.y)+r.x*(s.y-q.y)+s.x*(q.y-r.y);}main(i){for(;j=scanf("%d",&n)+~n;){for(m=i=0;i<n;i++)scanf("%lf,%lf",&p[i].x,&p[i].y),p[m].y>p[i].y?m=i:0;b=p[m];p[m]=*p;for(i=1;i<n;i++)p[i].k=(p[i].x-b.x)/hypot(p[i].x-b.x,p[i].y-b.y);qsort(p+1,n-1,24,z);*v=0;v[1]=1;v[2]=j=2;for(i=3;i<n;i++){for(;o(w[v[j-1]],w[v[j]],w[i])<=0;j--);v[++j]=i;}printf("%d\n",n+~j);}}
      |