#include<iostream>
#include<cstring>
#include<vector>
#include<queue>

using namespace std;

const int N = 1e3 + 10;



int main(){
    int a,b,c;
    cin >> a>> b >>c;
    if(a - b ==  b - c || a - c == c - b || b - a == a -  c || b - c == c - a || c - a == a - b){
        cout << "Yes" <<endl;
    }else cout <<"No" <<endl;



    return 0;
}

#include <iostream>
#include <cstring>
#include <algorithm>
#include <vector>
#include <utility>
#include <map>
#include <set>
#include <queue>
using namespace std;

#define rep(i, n) for(int i = 0; i < (int)(n); i++)
#define pb push_back
#define SORT(c) sort((c).begin(),(c).end())
#define RSORT(c) sort((c).rbegin(),(c).rend())
using ll = long long;
typedef vector<int> VI;
typedef vector<VI> VVI;

ll a,b,c;

int main() {
	cin >> a>>b>>c;
	if(a==b)cout<<c<<endl;
	else if(a==c)cout<<b<<endl;
	else if(c==b)cout<<a<<endl;
	else cout<<"0"<<endl;
	return 0;

}


