#include #include #pragma GCC optimize("Ofast") using namespace std; #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() typedef long long ll; const ll MOD = 1e9+7; #define rep(i,n) for(ll i=0, i##_len=(n); ibool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b inline void add(T &a, T b){a = ((a+b) % MOD + MOD) % MOD;}; #define print(x) (cout << (x) << endl) #define pb push_back #define mp make_pair #define sz(x) int(x.size()) #define fs first #define sc second const int INF = 1e9; const ll LLINF = 1e16; template vector make_v(size_t a){return vector(a);} template auto make_v(size_t a,Ts... ts){ return vector(ts...))>(a,make_v(ts...)); } template typename enable_if::value!=0>::type fill_v(U &u,const V... v){u=U(v...);} template typename enable_if::value==0>::type fill_v(U &u,const V... v){ for(auto &e:u) fill_v(e,v...); } template T gcd(T a,T b){return b?gcd(b,a%b):a;} template T ngcd(vector a){ T res; res = a[0]; for(int i = 1; i < a.size() && res != 1; i++) { res = gcd(a[i], res); } return res; } template T lcm(T a, T b) { return a / gcd(a, b) * b; } template T nlcm(vector numbers) { T res; res = numbers[0]; for (int i = 1; i < numbers.size(); i++) { res = lcm(res, numbers[i]); } return res; } // 割り算の切り上げ処理 template T round_up(T a, T b) { return (a + b - 1) / b; } // 約数列挙 template vector calc_divisor(T n) { vector res; for (T i = 1LL; i*i <= n; ++i) { if (n % i == 0) { res.push_back(i); T j = n / i; if (j != i) res.push_back(j); } } sort(res.begin(), res.end()); return res; } // 素数判定 template bool isPrime(T x){ T i; if(x < 2)return 0; else if(x == 2) return 1; if(x%2 == 0) return 0; for(i = 3; i*i <= x; i += 2) if(x%i == 0) return 0; return 1; } // 桁和 template T digsum(T n) { T res = 0; while(n > 0) { res += n%10; n /= 10; } return res; } // 指定した文字cが文字列に何文字入ってるか ll stringcount(string s, char c) { return count(s.cbegin(), s.cend(), c); } using pint = pair; using pll = pair; const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; const int dy[8] = {0, 1, 0, -1, 1, -1, 1, -1}; int main(void) { cout.tie(0); cin.tie(0); ios::sync_with_stdio(false); cout << fixed << setprecision(10); //auto dp=make_v(4,h,w); //fill_v(dp,0); //map mp; /* rep(i,n){ mp[s[i]]++; } for(auto x : mp){ chmax(MAX, x.sc); } for(auto x : mp){ if(MAX == x.sc){ cout< a(4); cin >> a[0] >> a[1] >> a[2] >> a[3]; sort(all(a)); rep(i,3){ if(a[i] + 1 != a[i + 1]){ print("No"); return 0; } } print("Yes"); }