#include <bits/stdc++.h>
using namespace std;
const long long int MOD = 1000000007LL;
long long int fact[1000006];
long long int ifact[1000006];
long long int power2[1000006];
long long int ar[200056];
long long int br[200056];
long long int level[300005];
vector<int> adj[500005];
set<long long int>::iterator it;
bool vis[500020];
long long int sum;
bool prime[10000006];
vector<int> primes, vec, pec;
map<long long int, long long int> has, mark;
long long int day[300006];
long long int powr(long long int a, long long int b) {
  if (b == 0) return 1;
  long long int x = powr(a, b / 2);
  if (b % 2 == 0)
    return (x * x) % MOD;
  else
    return ((x * x) % MOD * a % MOD) % MOD;
}
inline long long int inv(long long int x) { return powr(x, MOD - 2); }
inline long long int mulMod(long long int a, long long int b) {
  return (a % MOD * b % MOD) % MOD;
}
inline void process() {
  fact[0] = 1;
  power2[0] = 1;
  for (int i = 1; i < 1003; i++) {
    fact[i] = mulMod(fact[i - 1], i);
    power2[i] = mulMod(power2[i - 1], 2);
  }
  ifact[1002] = inv(fact[1002]);
  for (int i = 1002 - 1; i >= 0; i--) {
    ifact[i] = mulMod(ifact[i + 1], i + 1);
  }
}
inline long long int ncr(long long int n, long long int r) {
  if (n < r) return 0;
  return mulMod(fact[n], mulMod(ifact[r], ifact[(n - r)]));
}
long long int solve(long long int n, long long int k) {
  long long int C[k + 1];
  memset(C, 0, sizeof(C));
  C[0] = 1;
  for (long long int i = 1; i <= n; i++) {
    for (long long int j = min(i, k); j > 0; j--) C[j] = C[j] + C[j - 1];
  }
  return C[k];
}
void solve1(vector<long long int> price, long long int n, long long int S[]) {
  stack<long long int> st;
  st.push(0);
  S[0] = 1;
  for (long long int i = 1; i < n; i++) {
    while (!st.empty() && price[st.top()] <= price[i]) st.pop();
    S[i] = (st.empty()) ? (i + 1) : (i - st.top());
    st.push(i);
  }
}
void sieve() {
  memset(prime, true, sizeof(prime));
  prime[0] = prime[1] = false;
  for (long long int i = 2; i * i <= 100006; i++) {
    if (prime[i]) {
      for (long long int j = i * 2; j <= 100006; j += i) {
        prime[j] = false;
      }
    }
  }
  for (int i = 2; i <= 100005; i++) {
    if (prime[i]) primes.push_back(i);
  }
}
int bfs(int s) {
  vis[s] = 1;
  queue<int> q, temp;
  vector<int>::iterator it;
  q.push(s);
  int siz = 1;
  int lev = 1;
  level[0] = ar[0];
  while (!q.empty()) {
    int u = q.front();
    q.pop();
    siz--;
    for (it = adj[u].begin(); it != adj[u].end(); ++it) {
      if (!vis[*it]) {
        q.push(*it);
        vis[*it] = 1;
      }
    }
    if (siz == 0) {
      siz = q.size();
      bool flag = 0;
      long long int val = 0;
      while (!q.empty()) {
        val ^= ar[q.front()];
        temp.push(q.front());
        q.pop();
      }
      if (val == 0) {
        while (!temp.empty()) {
          q.push(temp.front());
          temp.pop();
        }
        continue;
      }
      level[lev] = 0;
      while (!temp.empty()) {
        level[lev] ^= ar[temp.front()];
        q.push(temp.front());
        temp.pop();
      }
      if (siz > 0) lev++;
    }
  }
  return lev - 1;
}
int main() {
  long long int n, m, t, p, q, s, a, b, c, d, e, f, g, h, res, u, v, i, j, l, k,
      len, tot, rad, ds, rs, y, r, z, maxm, minm, cycle, val,
      max1 = 0, max2 = 0, num = 0, zero, ans = 0;
  string str, ptr = "", dup = "", dtr = "";
  cin >> k;
  for (i = 0; i < k; i++) {
    cin >> a;
    max1 = max(max1, a);
  }
  if (max1 <= 25)
    cout << 0;
  else
    cout << max1 - 25;
  return 0;
}
