#include <bits/stdc++.h> #include <vector> using namespace std; int inf=100000000; using ll=long long; using pint=pair<int,int>; using pll=pair<ll,ll>; using pque_int=priority_queue<int>; #define rep(i,n) for (int i=0; i < (int) n; i++) #define _GLIBCXX_DEBUG template<typename T> inline bool chmax(T &a, T b) { return ((a < b) ? (a = b, true) : (false)); } template<typename T> inline bool chmin(T &a, T b) { return ((a > b) ? (a = b, true) : (false)); } int VecMax(vector<int> &v) { int output=-inf; rep(i,v.size()) chmax(output,v[i]); return output; } int VecMin(vector<ll> &v) { ll output=inf; rep(i,v.size()) chmin(output,v[i]); return output; } ll VecSum(vector<int> &v) { ll output=0; rep(i,v.size()) output+=v[i]; return output; } ll pow(ll a,ll n) { ll output=1; while (n>0) output*=a; return output; } int dir(char c) { if (c=='L') return 3; else if (c=='R') return 1; else if (c=='U') return 2; else return 0; } int main() { int A,B; cin >> A >> B; if (A>2*B || 2*A<B) cout << "No" << endl; else cout << "Yes" << endl; }