#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>

using namespace std;

struct point{
	double x,y;
	point(){}
	point(double xx,double yy){
		x=xx;
		y=yy;
	}
	bool operator<(const point& p)const{
		if(x==p.x)return y<p.y;
		return x<p.x;
	}
	point operator - (point p){
		return point(x-p.x,y-p.y);
	}

	double det(point p){
		return x*p.y-y*p.x;
	}
};

int n;

point p[101];

vector<point> convex_hull(){
	int k=0;
	vector<point> qs(n*2);
	for(int i=0;i<n;i++){
		while(k>1 && (qs[k-1]-qs[k-2]).det(p[i]-qs[k-1])<=0)k--;
		qs[k++]=p[i];
	}
	for(int i=n-2,t=k;i>=0;i--){
		while(k>t && (qs[k-1]-qs[k-2]).det(p[i]-qs[k-1])<=0)k--;
		qs[k++]=p[i];
	}
	qs.resize(k-1);
	return qs;
}

int main(void){
	while(1){
		scanf("%d",&n);
		if(n==0)break;
		for(int i=0;i<n;i++){
			scanf("%lf,%lf",&p[i].x,&p[i].y);
		}
		sort(p,p+n);
		printf("%d\n",n-convex_hull().size());

	}
	return 0;
}