#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
//思维转化：：每堆只有一个或两个石子，每次可以取1个或两个，共N堆；
/* 
int s[66];
int main(){
	int n;
	scanf("%d",&n);
	int an=0;
	int s[n];
	for(int i=0;i<n;i++){
		int now;
		scanf("%d",&now);
		//超过2为2不超过2为1 
		if(now>2)an++;
	}
	if(n%2){
		
	}
}
*/
int main(){
	int a,b;
	scanf("%d %d",&a,&b);
	if(a-b<3&&a-b>0){
		printf("Yes");
	}else if(b-a<3&&b-a>0){
		printf("Yes");
	}else{
		printf("No");
	}
} 
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <queue>
#include <map>
#include <set>

using namespace std;
typedef long long ll;

int main()
{
    char s, t;
    cin >> s >> t;
    if (s == 'Y')
    {
        int temp = t - 'a' + 'A';
        cout << (char)temp << endl;
    }
    else
    {
        cout << t << endl;
    }
    return 0;
}