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;
int main() {
  int x, hh, mm, ans, i, j, k;
  while (scanf("%d", &x) != EOF) {
    scanf("%d %d", &hh, &mm);
    int arr[6] = {7, 17, 27, 37, 47, 57}, ck = 0;
    if (hh == 7 || hh == 17) {
      for (j = mm; j >= 0; j--) {
        ans = mm - j;
        if (ans % x == 0) {
          ck = 1;
          break;
        }
      }
    } else {
      for (j = mm; j >= 0; j--) {
        for (k = 0; k < 6; k++) {
          if (j == arr[k]) {
            ans = mm - arr[k];
            if (ans % x == 0) {
              ck = 1;
              break;
            }
          }
        }
        if (ck) break;
      }
    }
    if (ck == 0) {
      for (i = hh - 1; i >= 0; i--) {
        if (i == 7 || i == 17) {
          for (j = 59; j >= 0; j--) {
            ans = (hh - i) * 60 + mm - j;
            if (ans % x == 0) {
              ck = 1;
              break;
            }
          }
        } else {
          for (j = 57; j > 0; j -= 10) {
            ans = (hh - i) * 60 + mm - j;
            if (ans % x == 0) {
              ck = 1;
              break;
            }
          }
        }
        if (ck) break;
      }
    }
    if (ck == 0) {
      for (i = 23; i > hh; i--) {
        if (i == 7 || i == 17) {
          for (j = 59; j >= 0; j--) {
            ans = abs((i - hh - 24) * 60) + mm - j;
            if (ans % x == 0) {
              ck = 1;
              break;
            }
          }
        } else {
          for (j = 57; j > 0; j -= 10) {
            ans = abs((i - hh - 24) * 60) + mm - j;
            if (ans % x == 0) {
              ck = 1;
              break;
            }
          }
        }
        if (ck) break;
      }
    }
    if (ck == 0) {
      if (hh == 7 || hh == 17) {
        for (j = 59; j > mm; j--) {
          ans = mm - j + 24 * 60;
          if (ans % x == 0) {
            ck = 1;
            break;
          }
        }
      } else {
        for (j = 59; j > mm; j--) {
          for (k = 0; k < 6; k++) {
            if (j == arr[k]) {
              ans = mm - arr[k] + 24 * 60;
              ;
              if (ans % x == 0) {
                ck = 1;
                break;
              }
            }
          }
          if (ck) break;
        }
      }
    }
    ans /= x;
    printf("%d\n", ans);
  }
  return 0;
}
