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
37
38
39
40
#include <iostream>

using namespace std;

int ileDoKoncaDnia(int h, int m) {
    return (60 * (24 - h) - m);
}

int zaIleDniKoniec(int x, int d) {
    switch (x) {
        case 1: return (d == 23); 
        case 2: return (d == 24);
        case 3: return (d == 25);
        case 4: return (d == 26);
        case 5:
            if (d == 27) return 2;
            return (d == 28); 
        default:
            return 0;
    }
}

int czyZmianaCzasu(int x, int d, int h) { 
    if(x != 5)
        return 0;
    if(d == 29 && h >= 3)
        return 0;
    return 1;
}

int ileCzasu(int x, int d, int h, int m) {
    return ileDoKoncaDnia(h, m) + 60 * 24 * zaIleDniKoniec(x, d) - 60 * czyZmianaCzasu(x, d, h);
}

int main() {
    int x, d, h, m;
    scanf("%d%d%d%d", &x, &d, &h, &m);
    printf("%d\n", ileCzasu(x, d, h, m));
    return 0;
}