Problem: N different natural numbers are given. If you select four different ones and set them as $ A $, $ B $, $ C $, $ D $, the following formula

$ \ Frac {A + B} {C --D} $



I want to find the maximum value of.




Given N different natural numbers, choose 4 different from them and create a program to find the maximum value of the above formula.



Input

The input is given in the following format.


N
a1 a2 ... aN


The number N (4 ≤ N ≤ 1000) of natural numbers is given in the first line. The value ai (1 ≤ ai ≤ 108) of each natural number is given in the second line. However, the same natural number does not appear more than once (ai ≠ aj for i ≠ j).

Output

Outputs the maximum value of the above formula as a real number for a given N natural numbers. However, the error must not exceed plus or minus 10-5.

Examples

Input

10
1 2 3 4 5 6 7 8 9 10


Output

19.00000


Input

5
22 100 42 3 86


Output

9.78947


Input

6
15 21 36 10 34 5


Output

18.00000


Input

4
100000 99999 8 1


Output

28571.285714

Solution (in CPP):

Solution:
#include<stdio.h>
#include<string.h>
#include<math.h>
int main(void)
{
	double s[1001],d,f=1000000000,g[4],h;
	double z;
	int i,j,a;
	scanf("%d",&a);
	for(i=0;i<a;i++){
		scanf("%lf",&s[i]);
	}
	for(i=0;i<a-1;i++){
		for(j=i+1;j<a;j++){
			if(s[i]>s[j]){
				d=s[i];
				s[i]=s[j];
				s[j]=d;
			}
		}
	}
	g[2]=-1; g[3]=-1;
	for(i=0;i<a-1;i++){
		if(s[i+1]-s[i]<f){
			f=s[i+1]-s[i];
			if(i==a-2){
				g[2]=g[0];
				g[3]=g[1];
			}
			g[0]=s[i+1];
			g[1]=s[i];
		}
	}
	if(g[2]!=-1){
		if((s[a-1]+s[a-2])/(g[2]-g[3])>(s[a-3]+s[a-4])/(g[0]-g[1])){
			g[0]=g[2];
			g[1]=g[3];
		}
		else{
			s[a-1]=s[a-3];
			s[a-2]=s[a-4];
		}
	}
	z=(s[a-1]+s[a-2])/(g[0]-g[1]);
	printf("%lf\n",z);
	//printf("%d %d %d %d\n",s[a-1],s[a-2],g[0],g[1]);
	return 0;
}