import java.util.*;
public class Main {
	public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	}
} Main public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	} main {
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	} int count=0; count 0 boolean sw=false; sw false String answer="No"; answer "No" int N=0; N 0 int max=0; max 0 int min=0; min 0 int sum=0; sum 0 int a=0; a 0 Scanner sc = new Scanner(System.in); sc new Scanner(System.in) N=sc.nextInt() N sc.nextInt() sc.nextInt sc int L[]=new int[N]; L new int[N] N for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			L[i]=sc.nextInt();
		} {
			L[i]=sc.nextInt();
		} L[i]=sc.nextInt() L[i] L i sc.nextInt() sc.nextInt sc for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			max=Math.max(max,L[i]);
		} {
			max=Math.max(max,L[i]);
		} max=Math.max(max,L[i]) max Math.max(max,L[i]) Math.max Math max L[i] L i for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		} {
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		} if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			} count==0 && L[i]==max count==0 count 0 L[i]==max L[i] L i max {
				count++;
			} count++ count {
				sum+=L[i];
			} sum+=L[i] sum L[i] L i if(sum>max)
		{
			answer="Yes";
		} sum>max sum max {
			answer="Yes";
		} answer="Yes" answer "Yes" System.out.println(answer) System.out.println System.out System System.out answer String[] args args public class Main {
	public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	}
} public class Main {
	public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args)
	{
		//変数
		int count=0;
		boolean sw=false;
		//int answer=0;
		String answer="No";
		//List<Integer> h=new ArrayList<Integer>();
		//int af=Integer.MAX_VALUE;
		int N=0;
		//int X=0;
		int max=0;
		int min=0;
		int sum=0;
		int a=0;
		//int t[]=new int[(int)Math.pow(10,5)];
		
		//入力
		Scanner sc = new Scanner(System.in);
		N=sc.nextInt();
		//X=sc.nextDouble();
		int L[]=new int[N];
		for(int i=0;i<N;i++)
		{
			L[i]=sc.nextInt();
		}
		//String S=sc.next();
		
		//処理
		for(int i=0;i<N;i++)
		{
			max=Math.max(max,L[i]);
		}
		for(int i=0;i<N;i++)
		{
			if(count==0 && L[i]==max)
			{
				count++;
			}else
			{
				sum+=L[i];
			}
		}
		if(sum>max)
		{
			answer="Yes";
		}
		// 出力
		//System.out.println(Arrays.deepToString(td));
		System.out.println(answer);
		//System.out.println(max+" "+min);
	}
}