#include<bits/stdc++.h>
using namespace std;

#define ll long long
  
int main() {
  ios_base::sync_with_stdio(0);

  #ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
  #endif
  ll x,y; cin >> x >> y;
  ll a = min(x,y);
  ll b = max(x,y);
  if((a+3)>b) {
    cout << "Yes" << endl;
  }
  else {
    cout << "No" << endl;
  
  }
}
// Author :- Sarvesh Chaudhary
#include<bits/stdc++.h>
using namespace std;
#define w(x) int x; cin>>x; while(x--)
#define ll long long int
#define sidha(i,a,b) for(int i=a;i<b;i++)
#define set_built(x) __builtin_popcountll(x)
#define zero_built(x) __bultin_ctzll(x)
#define pairi pair<int,int>
#define vi vector<int>
#define mod 1000000007
#define MAX INT_MAX
#define MIN INT_MIN
#define pb push_back
#define po pop_back
#define all(c) c.begin(),c.end()
#define io ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

//Global Variable
map<int,int> m;

//Functions


//Driver Function
int main(){
	io;
	ll a,b;cin>>a>>b;
    if(a>b){
        swap(a,b);
    }
    if((a+3)>b){
        cout<<"Yes"<<endl;
    }
    else {
        cout<<"No"<<endl;
    }
	return 0;
}