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 JAVA):

Solution:


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
import java.math.BigDecimal;

public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		BigDecimal tmp = BigDecimal.ZERO;
		int i, j, a, b;
		BigDecimal meu, rinrin, hoga;
		BigDecimal[] array = new BigDecimal[n];
		BigDecimal[] fuga = new BigDecimal[n];
		for(i = 0;i < n;++i){
			array[i] = BigDecimal.valueOf(sc.nextInt());
		}
		Arrays.sort(array);
		for(i = 0;i < n;++i){
			meu = array[i];
			for(j = 0;j < n;++j){
				if(j != i){
					if((i == n-1 && j == n-2) || (j == n-2 && i == n-1)){
						a = 2;
					}else if(i == n-1 || j == n-1 || i == n-2 || j == n-2){
						a = 1;
					}else{
						a = 0;
					}
					rinrin = array[j];
					fuga = array.clone();
					fuga[j] = BigDecimal.ZERO;
					fuga[i] = BigDecimal.ZERO;
					
					hoga = fuga[n-1-a].add(fuga[n-2-a]).divide(meu.subtract(rinrin).abs(), 8, BigDecimal.ROUND_HALF_UP);
					if(tmp.compareTo(hoga) < 0) tmp = hoga;
				}
			}
		}
		
		System.out.println(tmp);
	}
}