Problem: Jafar has n cans of cola. Each can is described by two integers: remaining volume of cola ai and can's capacity bi (ai ≤  bi).

Jafar has decided to pour all remaining cola into just 2 cans, determine if he can do this or not!

Input

The first line of the input contains one integer n (2 ≤ n ≤ 100 000) — number of cola cans.

The second line contains n space-separated integers a1, a2, ..., an (0 ≤ ai ≤ 109) — volume of remaining cola in cans.

The third line contains n space-separated integers that b1, b2, ..., bn (ai ≤ bi ≤ 109) — capacities of the cans.

Output

Print "YES" (without quotes) if it is possible to pour all remaining cola in 2 cans. Otherwise print "NO" (without quotes).

You can print each letter in any case (upper or lower).

Examples

Input

2
3 5
3 6


Output

YES


Input

3
6 8 9
6 10 12


Output

NO


Input

5
0 0 5 0 0
1 1 8 10 5


Output

YES


Input

4
4 1 0 3
5 2 2 3


Output

YES

Note

In the first sample, there are already 2 cans, so the answer is "YES".

Solution (in PYTHON3):

Solution:
import sys

line = [int(x) for x in sys.stdin.read().strip().split()]

canNum = int(line[0])

if canNum == 2:

    print("YES")

elif  canNum < 2 or canNum > 100000:

    print("NO")

else:
    
    remain = []
   # cap = []
    

    for i in range (1, canNum + 1):

        remain.append(int(line[i]))
    
    max1 = -1
    max2 = -1
    ind1 = -1
    ind2 = -1
    k = 0
    for j in range (canNum + 1, (canNum * 2) + 1):

       # cap.append(int(line[j]))
        
        if int(line[j]) >= max1:

            max2 = max1
            max1 = int(line[j])
            
            ind2 = ind1
            ind1 = k

            k += 1

            continue
        
        if int(line[j]) > max2:

            max2 = int(line[j])
            ind2 = k
        
        k += 1
    
    possible = True

    for i in range(0, len(remain)):
        
        if i == ind1 or i == ind2:

            continue

        if (remain[ind1] + remain[i]) <= max1:
        
            remain[ind1] += remain[i]
    

        elif (remain[ind1] + remain[i]) > max1:

            fin = ((remain[ind1] + remain[i]) % max1)

            if fin != 0:
            
                if (fin + remain[ind2]) <= max2:

                    remain[ind2] += fin 
                    
                    remain[ind1] = max1

                else:

                    possible = False
            
            else:

                possible = False
   
    if possible:

        print("YES")

    else:

        print("NO")

sys.exit(0)