#include using namespace std; using ll = long long; using Graph = vector>; #define rep(i,m,n) for(int (i)=(m);(i)<(n);++(i)) #define rREP(i,m,n) for(int (i)=(n)-1;(i)>=(m);--(i)) #define all(x) (x).begin(),(x).end() #define out(y,x,h,w) (y)<0||(x)<0||(y)>=(h)||(x)>=(w) constexpr int INF = 1000000001; constexpr ll mod = 1000000007; constexpr double PI = 3.1415926535897932; templateinline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } templateinline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } inline void init() { cin.tie(nullptr); cout.tie(nullptr); ios::sync_with_stdio(false); cout << fixed << setprecision(15); } ll gcd(ll x, ll y) { return (y ? gcd(y, x % y) : x); } ll lcm(ll x, ll y) { return x / gcd(x, y) * y; } int main() { init(); ll A, B; cin >> A >> B; ll num = gcd(A, B); mapmp; for (int i = 2;i * i <= num;++i) { while (num % i == 0) { mp[i]++; num /= i; } } bool ans = false; for (auto p : mp) { if ((p.second + 1) % 2 == 0)ans = true; } cout << (ans ? "Even" : "Odd") << "\n"; return 0; }