#include <bits/stdc++.h>

using namespace std;

int N;
int r[101];
int v[3][101];

bool check(int k, int mb) {
  //if(v[k][0] + mb > 100) return false;

  v[k][0] += mb;
  int score[101] = {0};
  for(int i = 0; i < 3; i++) {
    vector<int> ts[303];
    for(int j = 0; j < N; j++) {
      ts[v[i][j]].push_back(j);
    }
    int cnt = 0;
    for(int j = 300; j >= 0; j--) {
      for(int id : ts[j]) {
	score[id] += r[cnt];
      }
      cnt += ts[j].size();
    }
  }
  v[k][0] -= mb;
  {
    vector<int> ts[303];
    for(int j = 0; j < N; j++) {
      ts[score[j]].push_back(j);
    }
    int cnt = 0;
    for(int j = 300; j >= 0; j--) {
      for(int id : ts[j]) {
	if(id == 0) return cnt < 8;
      }
      cnt += ts[j].size();
    }
  }
  assert(false);
}

int main() {
  cin >> N;
  for(int i = 0; i < N; i++) cin >> r[i];
  for(int i = 0; i < N; i++) {
    for(int j = 0; j < 3; j++) cin >> v[j][i];
  }

  int ans = 1000;
  for(int i = 0; i < 3; i++) {
    for(int mb = 0; mb <= 101; mb++) {
      if(check(i, mb)) {
	ans = min(ans, mb);
	break;
      }
    }
  }
  if(ans == 1000) cout << "Saiko" << endl;
  else cout << ans << endl;


  return 0;
}