import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	} main {
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int map[] = new int[N]; map new int[N] N int Max = 0; Max 0 int sumOfSideLength = 0; sumOfSideLength 0 for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		} {

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		} map[i] = sc.nextInt	() map[i] map i sc.nextInt	() sc.nextInt sc sumOfSideLength = sumOfSideLength + map[i] sumOfSideLength sumOfSideLength + map[i] sumOfSideLength map[i] map i if (map[i]> Max)
			{
				Max = map[i];
			} map[i]> Max map[i] map i Max {
				Max = map[i];
			} Max = map[i] Max map[i] map i sumOfSideLength = sumOfSideLength - Max*2 sumOfSideLength sumOfSideLength - Max*2 sumOfSideLength Max*2 Max 2 if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		} sumOfSideLength > 0 sumOfSideLength 0 {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// get a integer
		int N = sc.nextInt();
		
		// map[N]: the table of the sides of polygon 
		int map[] = new int[N];

		int Max = 0;
		int sumOfSideLength = 0;

		for (int i=0; i<N; i++)
		{

			map[i] = sc.nextInt	();
			sumOfSideLength = sumOfSideLength + map[i];
			
			if (map[i]> Max)
			{
				Max = map[i];
			}
		}

		sumOfSideLength = sumOfSideLength - Max*2;
		
		if (sumOfSideLength > 0)
		{
			System.out.println("Yes");
		}	
		
		else
		{
			System.out.println("No");
		}	
	}
}