#include using namespace std; // 基本テンプレート #define P(x) cout << (x) << endl #define p(x) cout << (x) #define ALL(c) (c).begin(), (c).end() #define RALL(c) (c).rbegin(), (c).rend() #define MAT(type, c, m, n) vector> c(m, vector(n));for(auto& r:c)for(auto& i:r)cin>>i; #define REP(i,n) for(int i=0, i##_len=(n); i=0; --i) #define perm(c) sort(all(c));for(bool c##p=1;c##p;c##p=next_permutation(all(c))) #define PB push_back #define EM emplace #define EB emplace_back #define BI back_inserter #define MP make_pair #define cauto const auto& #define UNIQUE(v) v.erase( unique(ALL(v)), v.end() ); #define SZ(x) ((int)(x).size()) // 型 typedef long long ll; typedef pair pii; typedef pair pss; typedef pair psi; typedef pair pis; typedef vector vi; typedef vector vd; typedef vector vl; typedef vector vll; typedef vector vs; // Effective std template void remove(vector& c, unsigned int index) { c.erase(c.begin()+index); } template inline bool chmin(T &a, const T &b){if (b < a) {a = b; return true;} return false; } template inline bool chmax(T &a, const T &b){if (a < b) {a = b; return true;} return false; } inline void split(const string &s, char c, vector& v) {stringstream ss(s);string bf; while(getline(ss, bf, c)) v.push_back(stoi(bf));} inline void split(const string &s, char c, vector& v) {stringstream ss(s);string bf; while(getline(ss, bf, c)) v.push_back(bf);} // 定数 constexpr int PI = (2*acos(0.0)); constexpr int EPS = (1e-9); constexpr int MOD = (int)(1e9+7); constexpr int INF = 100000000; int main(){ cin.tie(0); ios::sync_with_stdio(false); int n, p; cin >> n >> p; // P(((n == 0) && (p == 0) || (n == 1)) ? "=" : "!="); P(((p == 0) || (n == 1)) ? "=" : "!="); return 0; }