#include <iostream>
#include <iomanip>
#include <complex>
#include <vector>
#include <algorithm>
#include <cmath>
#define EPS 1e-8
using namespace std;
typedef complex<double> P;
struct C{
    P p;
    double r;
    C(const P& p, const double& r):
        p(p), r(r) {}
};

P center(const P& a, const P& b, int lr){
    P mid = (a+b)/P(2,0);
    P len(sqrt(1-abs(b-mid)*abs(b-mid)),0);
    P rot = P(imag(b-a),-real(b-a)) / P(abs(a-b),0);
    if(lr==0){
        return len*rot+mid;
    }else{
        return len*rot*P(-1,0)+mid;
    }
}

int main(){
    while(1){
        int n;
        cin >> n;
        if(n==0) break;

        vector<P> pset(n);
        for(int i=0; i<n; i++){
            double x,y;
            cin >> x >> y;
            pset[i] = P(x,y);
        }

        int mnop=0;
        for(int i=0; i<n-1; i++){
            for(int j=i+1; j<n; j++){
                if(abs(pset[i]-pset[j]) < 2+EPS){
                    for(int lr=0; lr<2; lr++){
                        int count=0;
                        P mid = center(pset[i], pset[j], lr);
                        for(int k=0; k<n; k++){
                            if(abs(pset[k]-mid) < 1+EPS){
                                count++;
                            }
                        }
                        mnop = max(mnop, count);
                    }
                }
            }
        }

        if(mnop==0) mnop=1;
        cout << mnop << endl;
    }
            
    return 0;
}