#include<iostream>
#include<cstdio>
#include<algorithm>
#define eps 10e-10
using namespace std;
int parent[100];
int rank[100];

void init(int n)
{
	for(int i = 0; i < n; ++i)
	{
		parent[i]=i;
		rank[i]=0;
	}
}

int find(int x)
{
	if(parent[x]==x) return x;
	else return parent[x]=find(parent[x]);
}

void unit(int x,int y)
{
	x=find(x); y=find(y);
	if(x==y) return;

	if(rank[x]<rank[y])
	{
		parent[x]=y;
	}
	else
	{
		parent[y]=x;
		if(rank[x]==rank[y]) rank[x]++;
	}
}

int main()
{
	int n;
	while(cin>>n,n) 
	{
		init(n);
		double xs[n],ys[n];
		for(int i = 0; i < n; ++i)
		{
			scanf("%lf,%lf",&xs[i],&ys[i]);	
		}

		for(int i = 0; i < n; ++i)
		{
			for(int j = i+1; j < n; ++j)
			{
				double dx=xs[i]-xs[j],dy=ys[i]-ys[j];
				if(dx*dx+dy*dy-4<eps) unit(i,j);
			}
		}

		int cnt[n];
		fill(cnt,cnt+n,0);
		for(int i = 0; i < n; ++i)
		{
			cnt[find(i)]++;
		}

		sort(cnt,cnt+n,greater<int>());
		cout<<cnt[0]<<endl;
	}
  return 0;
}