#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define ll long long int #define LL unsigned long long #define pb push_back #define rep(i,n) for(int i=0;i<(n);i++) #define REP(i,n) for(int i=1;i<=(n);i++) using namespace std; int mx8[] = {0,0,1,-1,-1,1,-1,1}; int my8[] = {-1,1,0,0,-1,-1,1,1}; int mx4[] = {1,-1,0,0}; int my4[] = {0,0,-1,1}; const int MOD = 1000000007; int main() { int n,cnt=0; cin >> n; vector t(n),ans; rep(i,n) cin >> t[i]; rep(i,12){ map mp; mp[i%12]++; mp[(i+2)%12]++; mp[(i+4)%12]++; mp[(i+5)%12]++; mp[(i+7)%12]++; mp[(i+9)%12]++; mp[(i+11)%12]++; bool ok = true; rep(j,n){ if(mp[t[j]]) continue; else { ok = false;//cout << t[j] << endl; } } if(ok){ cnt++; ans.pb(i); } } //cout <<"cnt=" << cnt << endl; //cout << ans.size() << endl; if(cnt==1) cout << ans[0] << endl; else cout << -1 << endl; }