1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// PA2026, @mjm, r1c-zmi

#include <cstdio>
int nextInt() { int n; scanf("%d", &n); return n; }

int timeStamp(int d, int h, int m) {
	return m + 60 * (h + 24 * d);
}

int roundFinish(int r) {
	if (1 == r) return timeStamp(25, 0, 0);
	if (2 == r) return timeStamp(26, 0, 0);
	if (3 == r) return timeStamp(27, 0, 0);
	if (4 == r) return timeStamp(28, 0, 0);
	return timeStamp(30, 0, 0);
}

int timeDelta(int be, int en) {
	if (en < timeStamp(29, 2, 0))
		return en - be;
	if (timeStamp(29, 3, 0) <= be)
		return en - be;
	return en - be - 60;
}

int main() {
	int r = nextInt();
	int d = nextInt();
	int h = nextInt();
	int m = nextInt();

	int res = timeDelta(timeStamp(d, h, m), roundFinish(r));
	printf("%d\n", res);

	return 0;
}