#include <bits/stdc++.h>
using namespace std;

typedef long long LL;

struct Frac {
    LL a, b;
    Frac() : a(0), b(1) {}
    Frac(LL _a, LL _b) : a(_a), b(_b) {
        fix();
    }
    void fix() {
        LL g = __gcd(abs(a), abs(b));
        a /= g; b /= g;
        if (b < 0) a = -a, b = -b;
        assert(b > 0);
    }
    bool operator == (const Frac &rhs) const {
        return a == rhs.a && b == rhs.b;
    }
    bool operator < (const Frac &rhs) const {
        return a * rhs.b < b * rhs.a;
    }
    bool operator >= (const Frac &rhs) const {
        return a * rhs.b >= b * rhs.a;
    }
    Frac operator + (const Frac &rhs) const {
        return Frac(a * rhs.b + b * rhs.a, b * rhs.b);
    }
    Frac operator + (const int x) const {
        return *this + Frac(x, 1);
    }
    Frac operator - (const Frac &rhs) const {
        return Frac(a * rhs.b - b * rhs.a, b * rhs.b);
    }
    Frac operator - (const int x) const {
        return *this - Frac(x, 1);
    }
    Frac operator * (const Frac &rhs) const {
        return Frac(a * rhs.a, b * rhs.b);
    }
    Frac operator * (const int x) const {
        return *this * Frac(x, 1);
    }
    Frac operator / (const Frac &rhs) const {
        return Frac(a * rhs.b, b * rhs.a);
    }
    Frac operator / (const int x) const {
        return *this / Frac(x, 1);
    }
    Frac operator % (const int M) const {
        LL x = a / b;
        return *this - x + (x % M);
    }
};

int main() {
    int H, h, m, s;
    while (scanf("%d%d%d%d", &H, &h, &m, &s) == 4 && H) {
        LL S = h * 3600 + m * 60 + s;
        Frac vHour(1, H * 10), vMin(1, 10), vSec(6, 1), vMid = (vHour + vMin) / 2;
        Frac pMid = (vMid * S) % 360;
        Frac pSec = (vSec * S) % 360;
        Frac dis = min((pMid + 360 - pSec) % 360, (pMid + 540 - pSec) % 360);
        Frac need = (dis / (vSec - vMid) + S) % (H * 3600);
        if (vSec * need % 360 == vMin * need % 360 && vMin * need % 360 == vHour * need % 360) {
            need = need + Frac(180, 1) / (vSec - vMid);
        }
        need = need % (H * 3600);
        long long hour = 0, minu = 0;
        while (need >= Frac(3600 ,1)) ++ hour, need = need - 3600;
        while (need >= Frac(60, 1)) ++ minu, need = need - 60;
        printf("%lld %lld %lld %lld\n", hour, minu, need.a, need.b);
    }
    return 0;
}
