import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] L;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    }
    
    //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    }

} import java.util.Arrays; Arrays java.util import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] L;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    }
    
    //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    }

} Main //フィールド
    Scanner sc; sc int N; N int[] L; L public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    } main {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) Main m = new Main(sc); m new Main(sc) m.show(m.solve()) m.show m m.solve() m.solve m sc.close() sc.close sc String[] args args //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    } Main {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    } this.sc = sc this.sc this this.sc sc N = sc.nextInt() N sc.nextInt() sc.nextInt sc 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 Scanner sc sc //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    } solve {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    } boolean judge = false; judge false Arrays.sort(L) Arrays.sort Arrays L int max = L[N-1]; max L[N-1] L N-1 N 1 int total = 0; total 0 for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        } int i=0; int i=0; i 0 i<L.length-1 i L.length-1 L.length L L.length 1 i++ i++ i {
        	total += L[i];
        } {
        	total += L[i];
        } total += L[i] total L[i] L i if (max < total) {
        	judge = true;
        } max < total max total {
        	judge = true;
        } judge = true judge true return judge; judge //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    } show {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    } if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        } answer {
        	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" boolean answer answer public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] L;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    }
    
    //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    }

} public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] L;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    }
    
    //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    }

} Main
import java.util.Arrays;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        Main m = new Main(sc);
        m.show(m.solve());
        sc.close();
    }
    
	//フィールド
    Scanner sc;
    int N;
    int[] L;
    
    //入力
    Main(Scanner sc) {
        this.sc = sc;
        N = sc.nextInt();
        L = new int[N];
        for (int i=0; i<N; i++) {
        	L[i] = sc.nextInt();
        }
    }
    
    //解答処理
    private boolean solve() {
        boolean judge = false;
        Arrays.sort(L);
        int max = L[N-1];
        int total = 0;
        for (int i=0; i<L.length-1; i++) {
        	total += L[i];
        }
        
        if (max < total) {
        	judge = true;
        }
        
        return judge;
    }
    
    //出力
    public void show(boolean answer) {
    	if (answer) {
        	System.out.println("Yes");
        } else {
        	System.out.println("No");
        }
    }

}