
#include <cmath>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;


struct P{
	double x,y;
	P(double x,double y) : x(x) , y(y) {}
	P(){}
};
bool operator <(const P &a,const P &b){ return a.x != b.x ? a.x < b.x : a.y < b.y; }

const double EPS = 1e-9;
const double PI = acos(-1);

double fix(double p){
	while( p < EPS ) p += PI;
	return p;
}


vector<P> convex_hull( vector<P> g){
	sort(g.begin(),g.end());
	vector<P> r;
	int idx = 0;
	double deg = -PI/2;
	do{
		r.push_back(g[idx]);
		int best = 0;
		double value = 1e10;
		
		for(int i = 0 ; i < g.size() ; i++){
			if( i != idx){
				double next = fix( atan2(g[i].y-g[idx].y,g[i].x-g[idx].x) - deg );
				if( value > next ){
					value = next;
					best = i;
				}	
			}
		}
		
		deg = atan2(g[best].y-g[idx].y,g[best].x-g[idx].x);
		idx = best;
	}while(idx != 0);

	return r;
}



int main(){
	int n;
	while(cin >> n && n){
		vector<P> g(n);
		for(int i = 0 ; i < n ; i++) scanf("%lf,%lf",&g[i].x,&g[i].y);
		cout << n - convex_hull(g).size() << endl;
	}
}