#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;

struct Cheetah {
	int st;
	int v;
	double pos;
};
Cheetah ch[100000];
int main() {	
	
	int n;
	while(cin >> n ) {
		if(n==0)break;
		int t = 0;
		for(int i=0;i<n;i++) {
			cin >> ch[i].st >> ch[i].v;
			if(ch[i].st > t) t = ch[i].st;
		}
		int mini = 0;
		int maxi = 0;
		for(int i=0;i<n;i++) {
			ch[i].pos = (t-ch[i].st)*(double)ch[i].v;
			if((fabs(ch[i].pos - ch[maxi].pos) < 0.0000001 && ch[maxi].v < ch[i].v) || (ch[i].pos > ch[maxi].pos)) maxi = i;
			if((fabs(ch[i].pos - ch[mini].pos) < 0.0000001 && ch[mini].v > ch[i].v) || (ch[i].pos < ch[mini].pos))  mini = i;
		}
		while(ch[mini].v > ch[maxi].v) {
			double mint = 0;
			for(int i = 0; i<n; i++) {
				if(ch[mini].v != ch[i].v) {
					double tmp = (ch[i].pos-ch[mini].pos)/(ch[mini].v-ch[i].v);
					if(tmp > 0) mint = tmp;
				}
				if(ch[maxi].v != ch[i].v) {
					double tmp = (ch[maxi].pos-ch[i].pos)/(ch[i].v-ch[maxi].v);
					if(tmp > 0) mint = tmp;
				}
			}
			mini = 0;
			maxi = 0;
			for(int i=0;i<n;i++) {
				ch[i].pos += mint*ch[i].v;
				if((fabs(ch[i].pos - ch[maxi].pos) < 0.0000001 && ch[maxi].v < ch[i].v) || (ch[i].pos > ch[maxi].pos)) maxi = i;
				if((fabs(ch[i].pos - ch[mini].pos) < 0.0000001 && ch[mini].v > ch[i].v) || (ch[i].pos < ch[mini].pos))  mini = i;
			}
		}
		printf("%.3lf\n", fabs(ch[maxi].pos-ch[mini].pos));
	}

	return 0;
}