#include using namespace std; template inline bool chmax(T &a, T b) { if(a < b) { a = b; return 1; } return 0; } template inline bool chmin(T &a, T b) { if(a > b) { a = b; return 1; } return 0; } void debug() { cerr << "\n"; } template void debug(const T &x) { cerr << x << "\n"; } template void debug(const T &x, const Args &... args) { cerr << x << " "; debug(args...); } template void debugVector(const vector &v) { for(const T &x : v) { cerr << x << " "; } cerr << "\n"; } using ll = long long; #define ALL(v) (v).begin(), (v).end() #define RALL(v) (v).rbegin(), (v).rend() const double EPS = 1e-7; const int INF = 1 << 30; const ll LLINF = 1LL << 60; const double PI = acos(-1); constexpr int MOD = 1000000007; const int dx[4] = {1, 0, -1, 0}; const int dy[4] = {0, 1, 0, -1}; //------------------------------------- int f[] = {0, 2, 4, 5, 7, 9, 11}; int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; vector t(n); for(int i = 0; i < n; i++) { cin >> t[i]; } vector v; for(int d = 0; d < 12; d++) { bool ok = 1; for(int i = 0; i < n; i++) { bool ok2 = 0; for(int j = 0; j < 7; j++) { if((d + f[j]) % 12 == t[i]) { ok2 = 1; } } if(!ok2) { ok = 0; } } if(ok) { v.push_back(d); } } if(v.size() == 1) { cout << v[0] << endl; } else { cout << -1 << endl; } }