import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class Main {
	
	public static void main (String [] args) throws Exception {
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String s;
		while (!(s=br.readLine()).equals("0")) {
			int N=Integer.parseInt(s);
			double [][] points=new double [N][];
			for (int n=0;n<N;n++) {
				StringTokenizer st=new StringTokenizer(br.readLine());
				points[n]=new double [] {Double.parseDouble(st.nextToken()),Double.parseDouble(st.nextToken())};
			}
			double min=Double.MAX_VALUE;
			for (int n=0;n<N;n++) for (int n2=n+1;n2<N;n2++) {
				double dx=points[n][0]-points[n2][0];
				double dy=points[n][1]-points[n2][1];
				double dist=Math.sqrt(dx*dx+dy*dy);
				if (min>dist) min=dist;
			}
			
			if (min<10000) System.out.printf("%.4f\n", min);
			else System.out.println("INFINITY");
		}
	}

}