

#include <string>
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <queue>
#include <deque>
#include <bitset>
#include <iterator>
#include <list>
#include <stack>
#include <map>
#include <set>
#include <functional>
#include <numeric>
#include <utility>
#include <limits>
#include <time.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include<unordered_set>
#include<climits>
//#include<bits/stdc++.h>
using namespace std;
using namespace std;
#define fast ios_base::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL)
/*******  All Required define Pre-Processors and typedef Constants *******/
#define SCD(t) scanf("%d",&t)
#define SCLD(t) scanf("%ld",&t)
#define SCLLD(t) scanf("%lld",&t)
#define SCC(t) scanf("%c",&t)
#define SCS(t) scanf("%s",t)
#define SCF(t) scanf("%f",&t)
#define SCLF(t) scanf("%lf",&t)
#define MEM(a, b) memset(a, (b), sizeof(a))
#define FOR(i, j, k, in) for (int i=j ; i<k ; i+=in)
#define RFOR(i, j, k, in) for (int i=j ; i>=k ; i-=in)
#define REP(i, j) FOR(i, 0, j, 1)
#define RREP(i, j) RFOR(i, j, 0, 1)
#define all(cont) cont.begin(), cont.end()
#define rall(cont) cont.end(), cont.begin()
#define FOREACH(it, l) for (auto it = l.begin(); it != l.end(); it++)
#define IN(A, B, C) assert( B <= A && A <= C)

#define REP1(m,n) for(int i=m;i<=(n);i++)
#define REP2(m,n) for(int j=m;j<=(n);j++)
#define REP3(m,n) for(int i=0;i<(n);i++)
#define REP4(m,n) for(int i=n;i>=0;i--)
#define MP make_pair
#define PB push_back
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007
#define read(type) readInt<type>()
const double pi = acos(-1.0);
#define pnl printf("\n")
#define pns printf("@\t")
#define pns1(s) printf("%s",s)
#define pn(l) printf("%d\t",l)
typedef pair<int, int> PII;
typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<PII> VII;
typedef vector<VI> VVI;
typedef map<int, int> MPII;
typedef set<int> SETI;
typedef multiset<int> MSETI;
typedef long int int32;
typedef unsigned long int uint32;
typedef long long int int64;
typedef unsigned long long int  uint64;
//int min_coin = INT_MAX;



int main()
{
	fast;
#ifndef ONLINE_JUDGE
	freopen("input2.txt", "r", stdin);
	freopen("output2.txt", "w", stdout);
#endif

	int  a, b, c, mid_ele; //preprocess();
	cin >> a >> b >> c;

	int last_ele = max(a, max(b, c));
	int first_ele = min(a, min(b, c));
	if (last_ele == a && first_ele == b)
		mid_ele = c;
	else if (last_ele == b && first_ele == c)
		mid_ele = a;
	else
		mid_ele = b;
	string s;
	if (mid_ele - first_ele != last_ele - mid_ele)
		cout << "No" << endl;
	else
		cout << "Yes";

	/*cout << "hello World" << endl;
	fprintf(stdout, "\nTIME: %.3lf sec\n", (double)clock() / (CLOCKS_PER_SEC));*/

	return 0;
}//end main*=1
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    vector<int>v;
    v.push_back(a);
    v.push_back(b);
    v.push_back(c);
    sort(v.begin(),v.end());
    if(v[2]-v[1]==v[1]-v[0])
        cout<<"Yes";
    else
        cout<<"No";
}
