출근과 수면 시간대를 피해 X초 이내 간격으로 D일 동안 먹이를 주며 최소 횟수를 구합니다.
보통7그리디수학구간아직 제출이 없습니다시간 제한5초메모리 제한512 MB앨리스가 가상 애완 토끼를 샀다. 토끼는 화면 위를 뛰어다니고, 버튼을 누르면 즉시 먹이를 먹는다. 앨리스는 토끼를 아끼지만 바빠서 돌보는 데 시간을 많이 쓰고 싶지는 않다. 먹이를 너무 오래 주지 않으면 토끼가 죽고, 앨리스는 게임에서 진다.
앨리스는 매일 G에 일어나고, W에 출근하고, H에 귀가하고, B에 잠자리에 든다. 회사에 있거나 자고 있는 동안, 즉 구간 [W,H)와 [B,G) 안에서는 먹이를 줄 수 없다. W초와 B초에는 먹이를 줄 수 없고, H초와 G초에는 줄 수 있다. 그 밖의 모든 초에 앨리스는 버튼을 눌러 먹이를 주거나, 누르지 않는다. 토끼는 매 초 사이마다 먹이를 먹지 못한 채 몇 초가 연속으로 지났는지 세고, 그 값이 X가 되는 순간 죽는다. 따라서 연속한 두 번의 급여 사이 간격은 최대 X초다.
지금은 0일 차 00:00:00이고, 우체부가 앨리스의 집에 토끼를 막 배달했다. 우체부는 앨리스가 자고 있어도 00:00:00에 버튼을 한 번 누르고 떠난다. 이 한 번은 앨리스가 먹이를 준 횟수에 넣지 않는다. 앨리스는 D일 차 00:00:00에도 토끼가 살아 있기를 바란다. 같은 규칙에 따라 마지막으로 먹이를 준 시각과 D일 차 00:00:00 사이 간격도 X초를 넘을 수 없다. 토끼를 살려 둘 수 있다면, 앨리스가 먹이를 줘야 하는 최소 횟수를 구하라.
첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어지고, 각 테스트 케이스는 6줄이다. 처음 5줄에는 시각 G, W, H, B, X가 "hh:mm:ss" 형식으로 주어진다. 마지막 줄에는 정수 D가 주어진다.
각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 앨리스가 먹이를 줘야 하는 최소 횟수다. D일 차 00:00:00에 토끼를 살려 둘 수 없다면 y 자리에 -1을 출력한다.
예제의 첫 번째 케이스에서는 앨리스가 매일 08:00:00과 20:00:00에 먹이를 주면 된다. 두 번째 케이스에서는 0일 차에 앨리스가 일어나기도 전에 토끼가 죽는다.