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 N = scanner.nextInt() let T = (0 ..< N).map { _ in scanner.nextInt() } func check(_ k: Int) -> Bool { let list = [0, 2, 4, 5, 7, 9, 11].map { ($0 + k) % 12 } return T.allSatisfy { list.contains($0) } } let candidates = (0 ..< 12).filter(check) if candidates.count == 1 { print(candidates.first!) } else { print("-1") }