#include <bits/stdc++.h>
using namespace std;
#define mod 1000000007
#define inf 1e17
#define precise(x,y) fixed<<setprecision(y)<<x
#define int long long
#define float double
#define pb push_back
#define mp make_pair
#define all(v) v.begin(),v.end()
#define f(n) for(int i=0;i<n;i++)
#define fa(n) int a[n];for(int i=0;i<n;i++){cin>>a[i];}
#define fv(n) vector<int> v ;for(int i=0;i<n;i++){int y;cin>>y;v.push_back(y);}
#define test int t; cin>>t; while(t--)
#define fast ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);


void solve()
{
 int n,m;
 cin>>n>>m;
 if(n<m)
 {if(n+3>m)
 {
    //  if(n<=m)
     cout<<"Yes";
    //  else
    //  {
    //      cout<<"No";
    //  }
     
 }
 else
 {
     cout<<"No";
 }}
 else
 {
     if(m+3>n)
 {
    //  if(n<=m)
     cout<<"Yes";
    //  else
    //  {
    //      cout<<"No";
    //  }
     
 }
 else
 {
     cout<<"No";
 }
 }
 
 
    
}
signed main()
{
fast
//  test
  {
   solve();
  }
 return 0;
}
#include <bits/stdc++.h>
#define rep(i,n) for(int i = 0; i < (n); ++i)
#define rrep(i,n) for(int i = 1; i <= (n); ++i)
#define drep(i,n) for(int i = (n)-1; i >= 0; --i)
#define srep(i,s,t) for (int i = s; i < t; ++i)
#define rng(a) a.begin(),a.end()
#define rrng(a) a.rbegin(),a.rend()
#define isin(x,l,r) ((l) <= (x) && (x) < (r))
#define pb push_back
#define eb emplace_back
#define sz(x) (int)(x).size()
#define pcnt __builtin_popcountll
#define uni(x) x.erase(unique(rng(x)),x.end())
#define snuke srand((unsigned)clock()+(unsigned)time(NULL));
#define show(x) cerr<<#x<<" = "<<x<<endl;
#define PQ(T) priority_queue<T,v(T),greater<T> >
#define bn(x) ((1<<x)-1)
#define dup(x,y) (((x)+(y)-1)/(y))
#define newline puts("")
using namespace std;
typedef long long int ll;
typedef unsigned uint;
typedef unsigned long long ull;
typedef pair<int,int> P;
typedef tuple<int,int,int> T;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vl;
typedef vector<P> vp;
typedef vector<T> vt;
const double eps = 1e-10;
const ll LINF = 1001002003004005006ll;
const int INF = 1001001001;
#define dame { puts("-1"); return 0;}
#define yn {puts("Yes");}else{puts("No");}
const int MX = 200005;


int main() {
  int x,y; cin >> x >> y;
  if(x<y) swap(x,y);
  y += 3;
  if(x<y) cout << "Yes" << endl;
  else cout << "No" << endl;
  return 0;
}
