Jamie loves sleeping. One day, he decides that he needs to wake up at exactly hh: mm. However, he hates waking up, so he wants to make waking up less painful by setting the alarm at a lucky time. He will then press the snooze button every x minutes until hh: mm is reached, and only then he will wake up. He wants to know what is the smallest number of times he needs to press the snooze button.

A time is considered lucky if it contains a digit '7'. For example, 13: 07 and 17: 27 are lucky, while 00: 48 and 21: 34 are not lucky.

Note that it is not necessary that the time set for the alarm and the wake-up time are on the same day. It is guaranteed that there is a lucky time Jamie can set so that he can wake at hh: mm.

Formally, find the smallest possible non-negative integer y such that the time representation of the time x·y minutes before hh: mm contains the digit '7'.

Jamie uses 24-hours clock, so after 23: 59 comes 00: 00.

Input

The first line contains a single integer x (1 ≤ x ≤ 60).

The second line contains two two-digit integers, hh and mm (00 ≤ hh ≤ 23, 00 ≤ mm ≤ 59).

Output

Print the minimum number of times he needs to press the button.

Examples

Input

3
11 23


Output

2


Input

5
01 07


Output

0

Note

In the first sample, Jamie needs to wake up at 11:23. So, he can set his alarm at 11:17. He would press the snooze button when the alarm rings at 11:17 and at 11:20.

In the second sample, Jamie can set his alarm at exactly at 01:07 which is lucky.
#include <bits/stdc++.h>
using namespace std;
long repeated_squaring(long base, long exp) {
  long result = 1;
  while (exp) {
    if (exp % 2) {
      result *= base;
    }
    base *= base;
    exp = exp >> 1;
  }
  return result;
}
vector<int> int_to_vector(long long num) {
  vector<int> v;
  while (1) {
    if (num == 0) {
      return v;
    }
    v.insert(v.begin(), num % 10);
    num /= 10;
  }
}
string replace_all(const string& message, const string& pattern,
                   const string& replace) {
  string result = message;
  string::size_type pos = 0;
  string::size_type offset = 0;
  int p_len = pattern.length();
  int r_len = replace.length();
  while ((pos = result.find(pattern, offset)) != string::npos) {
    result.replace(result.begin() + pos, result.begin() + pos + p_len, replace);
    offset = pos + r_len;
  }
  return result;
}
int main() {
  ios::sync_with_stdio(false);
  string str;
  int i, j, num, result = 0;
  long long val;
  vector<vector<int>> adj;
  int arr[4];
  int hour, min;
  cin >> num;
  cin >> hour >> min;
  while (1) {
    str = to_string(min) + to_string(hour);
    if (strchr(str.c_str(), '7')) {
      cout << result << "\n";
      return 0;
    }
    min -= num;
    result++;
    if (min < 0) {
      min = 60 + min;
      hour -= 1;
      if (hour < 0) {
        hour = 23;
      }
    }
  }
  return 0;
}
