#include <bits/stdc++.h>
#define FOR(i, begin, end) for(int i = (begin); i < (end); i++)
#define FAST_IO ios_base::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr)
#define F first
#define S second
#define PB push_back
#define MP make_pair

using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef long long ll;

void setIO()
{
    FAST_IO;
}

void setIO (string s) {
    FAST_IO;
 	freopen((s+".in").c_str(),"r",stdin);
 	freopen((s+".out").c_str(),"w",stdout);
}

int main()
{
    setIO();
    int x, y;
    cin >> x >> y;
    if(x<y && x+3>y)
    {
        cout << "Yes";
    }
    else if(x<y)
    {
        cout << "No";
    }
    else if(x>y && y+3>x)
    {
        cout << "Yes";
    }
    else if(x>y)
    {
        cout << "No";
    }
}

#include<bits/stdc++.h>
#define dbug printf("I am here\n");
#define Fast ios_base::sync_with_stdio(false); cin.tie(0);
#define vs           v.size()
#define ss           s.size()
#define sot(v)       sort(v.begin(),v.end())
#define all(v)       (v).begin(), (v).end()
#define rev(v)       reverse(v.begin(),v.end())
#define revsot(v)    sort(v.rbegin(),v.rend())
#define yes          cout<<"Yes"<<endl
#define no           cout<<"No"<<endl
#define ii           pair<int, int>
#define int          long long
#define ll           long long
#define ull          unsigned long long
#define pb           push_back
#define mpp          make_pair
#define Okay         0
#define pi           3.14159

const int mx = 2e5+100;
const int cont = 1e18;
const int mod = 1e9+7;
using namespace std;

void solve(){
    int a, b;
    cin>>a>>b;
    if(abs(a-b)<3)yes;
    else no;

}

int32_t main(){
    Fast;
    int tst;
//    cin>>tst;
//    while(tst--)
    solve();
    return Okay;
}
