struct Scanner { private var stack = [String]() private var index = 0 mutating func peek() -> String { if stack.count == index { stack += readLine()!.split(separator: " ").map{ String($0) } } return stack[index] } mutating func next() -> String { let value = peek() index += 1 return value } mutating func nextInt() -> Int { return Int(next())! } mutating func nextDouble() -> Double { return Double(next())! } } var scanner = Scanner() let A = scanner.nextInt() let B = scanner.nextInt() func gcd(_ x: Int, _ y: Int) -> Int { if y == 0 { return x } else { return gcd(y, x % y) } } func isSquare(_ n: Int) -> Bool { var l: Int = 0 var r: Int = 100100100 while r - l > 1 { let m = (l + r) / 2 if m * m >= n { r = m } else { l = m } } return r * r == n } if isSquare(gcd(A, B)) { print("Odd") } else { print("Even") }