#include <bits/stdc++.h>
using namespace std; 
#define ll long long int
#define ull unsigned long long int
#define ld long double
#define cout(var) cout<<var<<endl
#define loop(a,b,c) for(ll i=a;i<=b;i+=c)
#define intarr(arr,n) ll arr[n];for(ll i=0;i<n;i++)cin>>arr[i]
#define inparr(arr,n) for(ll i=0;i<n;i++)cin>>arr[i]
#define inpvec(vec,n) for(ll i=0;i<n;i++){ll var;cin>>var;vec.push_back(var);}
#define pb push_back
#define fastio ios_base::sync_with_stdio(false);cin.tie(NULL);
#define mod 1000000007
#define newline cout<<endl
#define ump unordered_map<ll,ll>
#define vec vector<ll>
#define mkp make_pair
#define disp(var) cout<<var<<" "
bool prime(ll n) 
{ 
    if (n <= 1)  return false; 
    if (n <= 3)  return true; 
    if (n%2 == 0 || n%3 == 0) return false; 
  
    for (ll i=5; i*i<=n; i=i+6) 
        if (n%i == 0 || n%(i+2) == 0) 
           return false; 
  
    return true; 
}
ll power(ll x,ll y) 
{ 
    ll temp; 
    if(y==0) 
        return 1; 
    temp=power(x,y/2); 
    if (y%2==0) 
        return temp*temp; 
    else
        return x*temp*temp; 
} 
ll no_of_factors(ll n) 
{ 
    ll cnt = 0; 
    for (ll i = 1; i <= sqrt(n); i++) 
    { 
        if (n % i == 0) 
        { 
            if (n / i == i) 
                cnt++; 
  
            else 
                cnt = cnt + 2; 
        } 
    } 
    return cnt; 
} 
ll gcd(ll a,ll b) 
{ 
    if (b==0) 
        return a; 
    return gcd(b,a%b);      
} 
bool subsequence_checker(string str1, string str2, ll m, ll n) 
{ 
    if (m == 0) return true; 
    if (n == 0) return false; 
    if (str1[m-1] == str2[n-1]) 
        return subsequence_checker(str1, str2, m-1, n-1); 
    return subsequence_checker(str1, str2, m, n-1); 
}
bool isPowerOfTwo (ll x)  
{  
    return x && (!(x&(x-1)));  
}  
bool incs(ll *a,ll n)
{
    if(n==1)
        return true;
    for(ll i=0;i<n-1;i++)
    {
        if(a[i+1]<=a[i])
            return false;
    }
    return true;
}
bool decs(ll *a,ll n)
{
    if(n==1)
        return true;
    for(ll i=0;i<n-1;i++)
    {
        if(a[i+1]>=a[i])
            return false;
    }
    return true;
}
struct test
{
public:
    ll x,y,z;
};
bool compare(const test &aa,const test &bb)
{
    if(aa.x==bb.x)
    {
        if(aa.y==bb.y)
        {
            return aa.z<bb.z;
        }
        return aa.y<bb.y;
    }
    return aa.x<bb.x;
}

bool checkinterval(ll mint,ll maxt,ll lo,ll uo)
{
    if(uo<mint || maxt<lo)
    {
        return false;
    }
    return true;
}
ll mm(ll a, ll m=mod) 
{ 
    ll m0 = m; 
    ll y = 0, x = 1; 
  
    if (m == 1) 
      return 0; 
  
    while (a > 1) 
    { 
        // q is quotient 
        ll q = a / m; 
        ll t = m; 
  
        // m is remainder now, process same as 
        // Euclid's algo 
        m = a % m, a = t; 
        t = y; 
  
        // Update y and x 
        y = x - q * y; 
        x = t; 
    } 
  
    // Make x positive 
    if (x < 0) 
       x += m0; 
  
    return x; 
} 
void calc(ll *dp,string str)
{
    ll cnt=0;
    ll nc=0,no=0;
    for(ll i=0;i<str.size();i++)
    {
        if(str[i]=='*')
            continue;
        if(str[i]=='(')
            no++;
        if(str[i]==')')
            nc++;
        if(nc>no)
        {
            cnt++;
            nc--;
            no++;
        }
    }
    dp[cnt]++;
}
void AcDegaYe()
{
    ll a,b,c;
    cin>>a>>b>>c;
    if((a==b && b!=c) || (b==c && c!=a) || (a==c && c!=b))
    {
        cout("Yes");
        return;
    }
    cout("No");
}
 
int main()
{   
    fastio;
    //ll t;
    //cin>>t;
    ll t=1;
    while(t--)
    {
        AcDegaYe();
    }
    cerr << "\nTime elapsed: " << 1000 * clock() / CLOCKS_PER_SEC << "ms\n";
    return 0;
}

Measured memory_bytes: 384