double X[300],Y[300],x,y,d,s,t,p,q;
N,i,j,m,c;
C(k){
	c=0;
	for(k=N;k--;c>m?m=c:0)
		c+=k==i|k==j|hypot(X[k]-p,Y[k]-q)<1;
}
main(){
	for(;scanf("%d",&N)*N;printf("%d \n",m)){
		for(i=N;i--;)
			scanf("%lf%lf",X+i,Y+i);
		for(m=1;++i<N;)
			for(j=i;j--;
					d<2?
						s=(X[i]+X[j])/2,t=(Y[i]+Y[j])/2,
						x*=d=sqrt(1-d*d/4)/d,y*=d,
						p=s-y,q=t+x,C(),p=s+x,q=t-y,C()
					:0)
				d=hypot(x=X[i]-X[j],y=Y[i]-Y[j]);
	}
}