#include <bits/stdc++.h>
using namespace std;
template <typename T>
T prod(const T &a, const T &b) {
  return ((a % ((long long int)1e9 + 7)) * (b % ((long long int)1e9 + 7))) %
         ((long long int)1e9 + 7);
}
template <typename T>
T pow(const T &a, const T &b) {
  if (!b) return 1;
  long long int p = pow(a, b / 2);
  p *= p;
  return (b % 2) ? (p * a) : p;
}
template <typename T>
T modpow(const T &a, const T &b) {
  if (!b) return 1;
  long long int p = modpow(a, b / 2);
  p = prod(p, p);
  return (b % 2) ? (prod(p, a)) : p;
}
template <typename T>
T gcd(const T &a, const T &b) {
  if (!b) return a;
  return gcd(b, a % b);
}
template <typename T>
T lcm(const T &a, const T &b) {
  return (a * b) / gcd(a, b);
}
set<int> func(int y) {
  int i = (y / 50) % 475;
  set<int> rat;
  for (int j = 1; j <= 25; j++) {
    i = (i * 96 + 42) % 475;
    rat.insert(i + 26);
  }
  return rat;
}
void print(vector<int> &a) {
  for (int i = 0; i <= a.size() - 1; i++) cout << a[i] << " ";
  cout << endl;
}
int main() {
  int p, x, y;
  cin >> p >> x >> y;
  long long int i = y - 1;
  while (1) {
    i++;
    set<int> s = func(i);
    if (s.find(p) == s.end()) continue;
    long long int temp = i - x;
    if (temp % 50 == 0) {
      if (temp >= 0) {
        if (temp % 100 != 0) temp += 50;
        cout << temp / 100 << endl;
        return 0;
      } else {
        cout << "0\n";
        return 0;
      }
    }
  }
  return 0;
}
