import bisect, collections, copy, heapq, itertools, math, string
import sys
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return map(int, sys.stdin.readline().rstrip().split())
def LI(): return list(map(int, sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())

from  collections import defaultdict
from collections import Counter
def main():
    ABC = LI()
    c = Counter(ABC)
    ans = len(c.values())

    if ans == 2:
        print('Yes')
    else:
        print('No')

if __name__ == "__main__":
    main() import bisect, collections, copy, heapq, itertools, math, string bisect collections copy heapq itertools math string import sys sys def I(): return int(sys.stdin.readline().rstrip()) I def MI(): return map(int, sys.stdin.readline().rstrip().split()) MI def LI(): return list(map(int, sys.stdin.readline().rstrip().split())) LI def S(): return sys.stdin.readline().rstrip() S def LS(): return list(sys.stdin.readline().rstrip().split()) LS from  collections import defaultdict from collections import Counter def main():
    ABC = LI()
    c = Counter(ABC)
    ans = len(c.values())

    if ans == 2:
        print('Yes')
    else:
        print('No') main ABC = LI() ABC LI() LI c = Counter(ABC) c Counter(ABC) Counter ABC ans = len(c.values()) ans len(c.values()) len c.values() c.values c values if ans == 2:
        print('Yes')
    else:
        print('No') ans == 2 ans 2 print('Yes') print 'Yes' print('No') print 'No' if __name__ == "__main__":
    main() __name__ == "__main__" __name__ "__main__" main() main def MI(): return map(int, sys.stdin.readline().rstrip().split()) def MI(): return map(int, sys.stdin.readline().rstrip().split()) MI def LI(): return list(map(int, sys.stdin.readline().rstrip().split())) def LI(): return list(map(int, sys.stdin.readline().rstrip().split())) LI def S(): return sys.stdin.readline().rstrip() def S(): return sys.stdin.readline().rstrip() S def I(): return int(sys.stdin.readline().rstrip()) def I(): return int(sys.stdin.readline().rstrip()) I def main():
    ABC = LI()
    c = Counter(ABC)
    ans = len(c.values())

    if ans == 2:
        print('Yes')
    else:
        print('No') def main():
    ABC = LI()
    c = Counter(ABC)
    ans = len(c.values())

    if ans == 2:
        print('Yes')
    else:
        print('No') main def LS(): return list(sys.stdin.readline().rstrip().split()) def LS(): return list(sys.stdin.readline().rstrip().split()) LS
import bisect, collections, copy, heapq, itertools, math, string
import sys
def I(): return int(sys.stdin.readline().rstrip())
def MI(): return map(int, sys.stdin.readline().rstrip().split())
def LI(): return list(map(int, sys.stdin.readline().rstrip().split()))
def S(): return sys.stdin.readline().rstrip()
def LS(): return list(sys.stdin.readline().rstrip().split())

from  collections import defaultdict
from collections import Counter
def main():
    ABC = LI()
    c = Counter(ABC)
    ans = len(c.values())

    if ans == 2:
        print('Yes')
    else:
        print('No')

if __name__ == "__main__":
    main()
