#include <bits/stdc++.h>

using namespace std;


int main() {
    int x, y;
    scanf("%d%d", &x, &y);
    if (x > y) swap(x, y);
    printf(x + 3 > y ? "Yes" : "No");
    return 0;
}
#include <iostream>
#include <algorithm>
#include <climits>
#include <vector>
#include <unordered_set>
#include <queue>
#include <bits/stdc++.h>
#include <unordered_map>
#define fast_io                                                                                                                \
    ios::sync_with_stdio(false);                                                                                               \
    cin.tie(0)
using namespace std;
using ll = long long;
using ull = unsigned long long;

#define rep(i,a,n) for(int i=a;i<=n;i++)
#define per(i,a,n) for(int i=n;i>=a;i--)
#define pb push_back
#define mp make_pair
#define FI first
#define SE second
#define mod 998244353
#define inf 0x3f3f3f3f
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef double db;
using namespace std;


void solve() {
	ll x, y;
	cin >> x>>y;
	string ans;
	ans = "No";
	if (x - y <= 2 && x - y >= -2) ans = "Yes";
	cout << ans << endl;
}

int main(void)
{
	//int t; cin >> t; for (int i = 0; i < t; i++) {solve();}
	solve();

	return 0;
}


