#include #pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") //struct Fast {Fast() {std::cin.tie(0); ios::sync_with_stdio(false);}} fast; using namespace std; using ll= long long; using ull= uint64_t; using vi= vector; using vvi= vector; using vvvi= vector; using vll= vector; using vvll= vector; using vvvll= vector; using vs= vector; using vc= vector; using vvc= vector; using vvvc= vector; using vb= vector; using vvb = vector; //setエイリアス using si=set; using sll=set; using sc=set; using ss=set; //pairエイリアス using pii= pair; using vpii= vector; using pll=pair; using vpll=vector; //using Graph = vector>; // グラフ型重みなし ありはint =edge #define reps(i, n, m) for (ll i = (ll)n; i < (ll)m; i++) #define rrep(i,a,b) for(int i=a;i>=b;i--) #define rep(i, m) reps(i, 0, m) #define all(a) a.begin(), a.end() #define vecsort(a) sort(all(a)) #define PQminll priority_queue, greater> #define PQmaxll priority_queue,less> #define PQminP priority_queue, greater

> #define PQmaxP priority_queue,less

> #define NP next_permutation #define pb push_back #define mp make_pair inline int ctoi(char c) {return c - '0';} templateinline void vcin(vector &n){for(int i=0;i>n[i];} templateinline void vcin(vector &n,vector &m){for(int i=0;i>n[i]>>m[i];} templateinline void vcin(vector> &n){for(int i=0;i>n[i][j];}}} templateinline void vcout(vector &n,bool tmp){for(int i=0;iinline void vcout(vector> &n){for(int i=0;iinline void vcout(vector&a,vector&b){for(int i=0;i inline bool chmax(T &a, const T &b) { if (a < b) { a = b; return true; } return false; } template inline bool chmin(T &a, const T &b) { if (a > b) { a = b; return true; } return false; } templateauto min(const T& a){ return *min_element(all(a));} templateauto max(const T& a){ return *max_element(all(a));} template inline bool isprime(const T b) { if(b==1)return false;if(b==2||b==3)return true;else{for(int i=2;i*i<=b;i++)if(b%i==0)return false;}return true;} ll pop(ll x){return __builtin_popcountll(x);}//bit counting true //grpahアルゴリズム-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*// //template inline void Gcin(T a,U &G,bool tmp){rep(i,a){int x,y;cin>>x>>y;G[x].pb(y);if(tmp){G[y].pb(x);}}}//無向の時true class UnionFind{ public: vector parent; //parent[i]はiの親 vector siz; //素集合のサイズを表す配列(1で初期化) map> group; //集合ごとに管理する(key:集合の代表元、value:集合の要素の配列) ll n; //要素数 //コンストラクタ UnionFind(ll n_):n(n_),parent(n_),siz(n_,1){ //全ての要素の根が自身であるとして初期化 for(ll i=0;i(n,1); group.clear(); } }; //-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* // template inline T nibutan(T x,vectora){T pos=lower_bound(all(a),x)-a.begin();if(pos<=a.size()&&a[pos]==x)return pos;return -1;} // inline int nibutan(int x,vi a){int pos=lower_bound(all(a),x)-a.begin();if(pos<=a.size(),a[pos]==x)return pos;return -1;} struct Edge { int to; // 辺の行き先 int weight; // 辺の重み Edge(int t, int w) : to(t), weight(w) { } }; using Graph = vector>; // グラフ型重みなし ありはint =edge const ll mod = 1e9+7; //ll mod=2147483647; const double pi=3.14159265358; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; /*------------------------------------------------------------------------------------------------------------------------*/ int main(){ int h,w; cin>>h>>w; if(h<7){ cout<<"Yes"<9){ cout<<"No"<