Mishka is decorating the Christmas tree. He has got three garlands, and all of them will be put on the tree. After that Mishka will switch these garlands on.

When a garland is switched on, it periodically changes its state — sometimes it is lit, sometimes not. Formally, if i-th garland is switched on during x-th second, then it is lit only during seconds x, x + k_{i}, x + 2k_{i}, x + 3k_{i} and so on.

Mishka wants to switch on the garlands in such a way that during each second after switching the garlands on there would be at least one lit garland. Formally, Mishka wants to choose three integers x_1, x_2 and x_3 (not necessarily distinct) so that he will switch on the first garland during x_1-th second, the second one — during x_2-th second, and the third one — during x_3-th second, respectively, and during each second starting from max(x_1, x_2, x_3) at least one garland will be lit.

Help Mishka by telling him if it is possible to do this!


-----Input-----

The first line contains three integers k_1, k_2 and k_3 (1 ≤ k_{i} ≤ 1500) — time intervals of the garlands.


-----Output-----

If Mishka can choose moments of time to switch on the garlands in such a way that each second after switching the garlands on at least one garland will be lit, print YES.

Otherwise, print NO.


-----Examples-----
Input
2 2 3

Output
YES

Input
4 2 3

Output
NO



-----Note-----

In the first example Mishka can choose x_1 = 1, x_2 = 2, x_3 = 1. The first garland will be lit during seconds 1, 3, 5, 7, ..., the second — 2, 4, 6, 8, ..., which already cover all the seconds after the 2-nd one. It doesn't even matter what x_3 is chosen. Our choice will lead third to be lit during seconds 1, 4, 7, 10, ..., though.

In the second example there is no way to choose such moments of time, there always be some seconds when no garland is lit.

Difficulty: interview

Starter code:

Solutions:
a, b, c = sorted(map(int, input().split()))
if a > 3:
	print('NO')
elif a == 3:
	if b > 3:
		print('NO')
	elif b == 3:
		if c > 3:
			print('NO')
		else:
			print("YES")
elif a == 1:
	print('YES')
else:
	if b == 2:
		print('YES')
	elif b > 4:
		print('NO')
	elif b == 4:
		if c == 4:
			print('YES')
		else:
			print('NO')
	else:
		print('NO')

a = sorted([int(i) for i in input().split()])
if a[0] * a[1] + a[1] * a[2] + a[2] * a[0] < a[0] * a[1] * a[2] or a[0] == 2 and a[1] == 3:
	print('NO')
else:
	print('YES')


import sys
k1,k2,k3 = [int(x) for x in input().split()]
def is_div(a,b):
    return a==((a//b)*b)

def always_lit(x1,x2,k1,k2,k3):
    for i in range(200):
        if not is_div(i-x1,k1) and not is_div(i-x2,k2) and not is_div(i,k3):
            return False
    return True

for x1 in range(-200,1):
    for x2 in range(x1,1):
        if always_lit(x1,x2,k1,k2,k3):
            print('YES')
            return

print('NO')


k,m,n = list(map(int,input().split()))
mn = min(k,min(m,n))
ma = max(k,max(m,n))
me = k+m+n-mn-ma
if mn == 1 or (mn == me == 2) or (mn == 2 and me == ma == 4) or mn == ma == me == 3:
    print('YES')
else:
    print('NO')


q=list(map(int,input().split()))
q.sort()
if (1 in q)|(q.count(2)>=2)|(q.count(3)==3)|(q==[2,4,4]):
    print('YES')
else:
    print('NO')


# input
K = list(map(int, input().split()))
K.sort()

def solve():
    m = min(K)

    if m == 1:
        print('YES')
        return
    elif m >= 3:
        if K == [3,3,3]:
            print('YES')
            return
        else:
            print('NO')
            return
    else: # m=2
        if K[1] == 2:
            print('YES')
            return
        elif K == [2,4,4]:
            print('YES')
            return
        else:
            print('NO')
            return

def __starting_point():
    solve()


__starting_point()

from math import gcd
import sys

def f():
    a,b,c = sorted(map(int,input().split()))

    x1 = 0
    for x2 in range(100):
        for x3 in range(100):
            ok = True
            for t in range(x3,x3+5000):
                if (t-x1)%a == 0 or (t-x2)%b == 0 or (t-x3)%c == 0:
                   continue
                else:
                    ok = False
                    break
            if ok:
                print('YES')
                return
    print('NO')
f()


def ans(k1,k2,k3):
    if k1 == 1:
        return("YES")

    if k1 == 2 and k2 == 2:
        return("YES")

    if k1 == 3 and k2 == 3 and k3 == 3:
        return("YES")

    if k1 == 2 and k2 == 4 and k3 == 4:
        return("YES")

    return("NO")


a,b,c = [int(i) for i in input().split()]

k1 = min(a,b,c)
k3 = max(a,b,c)
k2 = a + b+ c - k1 -k3

# k1 <= k2 <= k3

print(ans(k1,k2,k3))


v = list(map(int, input().split()))
v.sort()
if (v[0] == 1):
    print("YES")
    return
if (v[0] == 2 and v[1] == 2):
    print("YES")
    return
if (v.count(3) == 3):
    print("YES")
    return
if (v[0] == 2 and v.count(4) == 2):
    print("YES")
    return
print("NO")

a,b,c = list(map(int,input().split()))

if a==1 or b==1 or c==1:
	print("YES")
elif a==3 and b==3 and c==3:
	print("YES")
else:
	l={} 
	
	l[2] = 0
	l[4]=0
	l[a]=0
	l[b]=0
	l[c]=0

	l[a]+=1
	l[b]+=1
	l[c]+=1
	if l[2]>=2:
		print("YES")
	elif l[2]==1 and l[4]==2:
		print("YES")
	else:
		print("NO");	


k1,k2,k3 = map(int, input().split())
if 1 in [k1, k2,k3]:
    print('YES')
elif sum([1 for i in [k1,k2,k3] if i == 2]) >= 2:
    print('YES')
elif sum([1 for i in [k1,k2,k3] if i == 3]) == 3:
    print('YES')
elif sum([1 for i in [k1,k2,k3] if i == 2]) == 1 and sum([1 for i in [k1,k2,k3] if i == 4]) == 2:
    print('YES')
else:
    print('NO')            

import math
x1,x2,x3 = list(map(int,input().split()))
kmm = math.gcd(x1,math.gcd(x2,x3))
a =[x1,x2,x3]
a.sort()
if min(a) >= 4 :print('NO')
elif min(a) == 3:
    if max(a) == 3:print('YES')
    else:print("NO")
elif min(a) == 1:print("YES")
elif min(a) == 2:
    if a.count(2) >= 2:print("YES")
    elif a == [2,4,4]:print("YES")
    else: print("NO")


import sys
k1,k2,k3=list(map(int,input().split()))
L=[k1,k2,k3]
x=L.count(1)
if x!=0:
    print("YES")
    return
x=L.count(2)
if x>=2:
    print('YES')
    return
x=L.count(3)
if x==3:
    print("YES")
    return
if L.count(4)==2 and L.count(2)==1:
    print("YES")
    return
print("NO")



k1,k2,k3=list(map(int,input().split()))
L=[k1,k2,k3]


if L.count(1) != 0:
    print("YES")
elif L.count(2) >= 2:
    print('YES')

elif L.count(3) == 3:
    print("YES")

elif L.count(4)==2 and L.count(2)==1:
    print("YES")
else: print("NO")



data = input().split(" ")
k = [int(data[0]), int(data[1]), int(data[2])]
k.sort()
[k1, k2, k3] = k
has_solution = False
if k1 == 1:
    has_solution = True
elif k1 == 2 and k2 == 2:
    has_solution = True
elif k1 == 2 and k2 == 4 and k3 == 4:
    has_solution = True
elif k1 == 3 and k2 == 3 and k3 == 3:
    has_solution = True
if has_solution:
    print("YES")
else:
    print("NO")


a=list(sorted(list(map(int,input().split()))))
if a[0]==1 or a[0]==2 and a[1]==2 or a==[2,4,4] or a==[3,3,3]:
    print('YES')
else:
    print('NO')


def solve(k):
	if min(k) > 3:
		print("NO")
		return

	x = [0, 0, 0]
	for x[0] in range(3):
		for x[1] in range(3):
			for x[2] in range(3):
				a = [False] * 15
				for i in range(3):
					j = 0
					while x[i] + j * k[i] < 15:
						a[x[i] + j * k[i]] = True
						j += 1
				is_possible = True
				for i in range(3, 15):
					is_possible = is_possible and a[i]
				if is_possible:
					print("YES")
					# print(" ".join(map(str, x)))
					return
	print("NO")

k = list(map(int, input().split()))
solve(k)




ks = [int(v) for v in input().split()]
ks.sort()

def solve(ks):
    k1, k2, k3 = ks

    if k1 == 1:
        return True
    elif k1 == 2:
        if k2 == 2:
            return True
        elif k2 == 4 and k3 == 4:
            return True
        else:
            return False
    elif k1 == 3:
        if k2 == 3 and k3 == 3:
            return True
        else:
            return False
    else:
        return False

print(["NO", "YES"][solve(ks)])


k = list(map(int, input().strip().split()))
k = sorted(k)

if k[0] == 1:
    print("YES")
elif k[0] == 2 and k[1] == 2:
    print("YES")
elif k[0] == 2 and k[1] == 4 and k[2] == 4:
    print("YES")
elif k[0] == 3 and k[1] == 3 and k[2] == 3:
    print("YES")
else:
    print("NO")




f=list(map(int,input().split()))
f.sort()
a = f[0]
b = f[1]
c = f[2]
if a == 1:
    print('YES')
else:
    if a == 3 and b == 3 and c == 3:
        print('YES')
    else:
        if a != 2:
            print('NO')
        else:
            if b == 2 or b == 4 and c == 4:
                print('YES')
            else:
                print('NO')

k = list(map(int, input().split()))

cnt1 = k.count(1)
cnt2 = k.count(2)
cnt3 = k.count(3)
cnt4 = k.count(4)

if cnt1 >= 1 or cnt2 >= 2 or cnt3 == 3 or (cnt4 == 2 and cnt2 == 1):
    print('YES')
else:
    print('NO')


a = [int(i) for i in input().split()]
a.sort()
if a[0] == 1:
    print('YES')
elif a[0] == 2 and a[1] == 2:
    print('YES')
elif a[0] == 2 and a[1] == 4 and a[2] == 4:
    print('YES')
elif a[0] == 3 and a[1] == 3 and a[2] == 3:
    print('YES')
else:
    print('NO')

R=lambda:map(int,input().split())

a = list( R() ) 

ans = 0

o = a.count(1)
t = a.count(2)
th = a.count(3)
f = a.count(4)

if o > 0 or t > 1 or th > 2 or (t == 1 and f == 2):
    print("YES")
    
else:
    print("NO")