#include <iostream>
#include <vector>

using namespace std;
typedef pair<double, double> P;

double cross_product(P p1, P p2, P p3)
{
	P p[2];
	p[0].first = p2.first - p1.first;
	p[0].second = p2.second - p1.second;
	p[1].first = p3.first - p1.first;
	p[1].second = p3.second - p1.second;
	return(p[0].first * p[1].second - p[1].first * p[0].second);
}

void solve()
{
	int N;
	while(cin >> N, N)
	{
		vector<P> Vec(N);
		for(int i = 0; i < N; ++i)
		{
			scanf("%lf,%lf", &Vec[i].first, &Vec[i].second);
		}
		double min_x = Vec[0].first;
		int index = 0;
		for(int i = 1; i < N; ++i)
		{
			if(min_x > Vec[i].first)
			{
				min_x = Vec[i].first;
				index = i;
			}
		}
		vector<bool> used(N);
		for(int i = 0; i < N; ++i)
		{
			used[i] = false;
		}
		used[index] = true;
		int end = index;
		while(true)
		{
			for(int i = 0; i < N; ++i)
			{
				if(index == i)
				{
					continue;
				}
				bool flag = true;
				for(int j = 0; j < N; ++j)
				{
					if(index == j || i == j)
					{
						continue;
					}
					if(cross_product(Vec[index], Vec[i], Vec[j]) <= 0)
					{
						flag = false;
						break;
					}
				}
				if(flag)
				{
					used[i] = true;
					index = i;
					break;
				}
			}
			if(end == index)
			{
				break;
			}
		}
		int count = 0;
		for(int i = 0; i < N; ++i)
		{
			if(!used[i])
			{
				count++;
			}
		}
		cout << count << endl;
	}
}

int main()
{
	solve();
	return(0);
}