#include <stdio.h>
#include <math.h>

int main()
{
  int pocetG = 1;
  while (pocetG != 0)
  {
    long int casMax=0, i = 0, j = 0, k = 0;
    scanf("%d",&pocetG);
    if(pocetG == 0)break;
    long int rychlost[pocetG];
    long int cas[pocetG];
    double draha=0;
    double drahaMax = 0;
    double drahaMin = 0;
    double delta = 0;
    double deltaMin = 0;

    double casK;
    for (i = 0; i<pocetG; i++)
      {
	scanf("%ld %ld",&cas[i],&rychlost[i]);
	if (cas[i] > casMax) casMax = cas[i];
      }

    for (i = 0; i<pocetG; i++)
      {
	draha = rychlost[i] * (casMax - cas[i]);
	if (draha>drahaMax) drahaMax = draha;
      }
    deltaMin = delta = drahaMax;
    for (i = 0; i<pocetG; i++)
      {
	for(j = i+1; j<pocetG; j++)
	  {
	    if (rychlost[i]==rychlost[j]) continue;
	    casK = (double) (rychlost[i]*cas[i]-rychlost[j]*cas[j])/(rychlost[i]-rychlost[j]);
	    drahaMin = casK*rychlost[0];
	    for(k=0;k<pocetG; k++)
	      {
		draha = (casK-cas[k]) * rychlost[k];		
		if(drahaMin>draha) drahaMin = draha;
		if(drahaMax<draha) drahaMax = draha;
	      }
	    delta = drahaMax - drahaMin;	   
	    if (i==0 && j==1) deltaMin = delta;
	    if (delta<deltaMin) deltaMin = delta;
	  }
      }
    printf("%.3lf\n",deltaMin);
  }
  
  return 0;
}