만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

마법 시계

시간 제한2초메모리 제한1024 MB

요약
720t개의 눈금을 가진 마법 시계에서 분침이 시침을 따라잡으면 0으로 돌아가는 규칙으로, 각 질의의 두 상태 사이 최소 틱 수를 구하고 도달할 수 없으면 -1을 출력합니다.
난이도

어려움10점 중 8점

유형
정수론, 수학, 구현
정답자
아직 제출이 없습니다

문제

필트오버의 학자들이 매우 신비로운 마법 시계를 손에 넣었다. 이상한 바늘 움직임을 보고, 이 시계에 중요한 정보가 숨겨져 있을지도 모른다고 생각했다.

이 시계의 문자판에는 60⋅12⋅t60 \cdot 12 \cdot t개의 눈금이 있으며, 시계 방향으로 00부터 720t−1720t - 1까지 번호가 매겨진다. 시계에는 분침과 시침이 있다. 1t\frac{1}{t}분마다 (이 간격을 틱이라고 부른다) 분침은 12눈금, 시침은 1눈금을 움직인다. 일반 시계에서는 60분 동안 분침이 한 바퀴를 돌고, 시침은 112\frac{1}{12}바퀴를 돈다.

이 시계에는 특이한 점이 있다. 어떤 틱에서 분침이 시침을 추월하거나 따라잡아야 하면, 분침은 시작 눈금으로 순간 이동한다. 분침이 mm번 눈금을, 시침이 hh번 눈금을 가리키고 두 바늘 사이의 거리가 d=(h−m) mod (720t)d = (h - m) \bmod (720t)눈금이라고 하자. 0<d<120 < d < 12이면 다음 틱 이후 분침은 0번 눈금에 있게 된다. 이때 시침은 평소처럼 계속 움직인다.

헤이머딩거는 이 시계의 본질과 성질에 관한 qq개의 가설을 세웠다. ii번째 가설을 검증하려면 바늘이 상태 si,1s_{i,1}에서 상태 si,2s_{i,2}로 가는 데 걸리는 시간을 알아내야 한다.

입력

첫 줄에 공백으로 구분된 정수 tt와 qq가 주어진다 (1≤t≤15001 \le t \le 1500, 1≤q≤1061 \le q \le 10^6). 이어지는 qq개의 줄에는 각각 공백으로 구분된 정수 h1h_1, m1m_1, h2h_2, m2m_2가 주어진다. 이는 시작 상태와 끝 상태에서 시침과 분침이 가리키는 눈금 번호이다 (0≤h1,2,m1,2<720t0 \le h_{1,2}, m_{1,2} < 720t).

출력

각 질의의 답을 한 줄에 하나씩 출력한다. 답은 상태 (h1,m1)(h_1, m_1)에서 (h2,m2)(h_2, m_2)로 시계가 도달하는 데 필요한 최소 틱 수이다. 시작 상태에서 끝 상태에 도달하지 못하면 -1을 출력한다.

예제2

  1. 예제 1

    입력
    1 4
    0 0 1 12
    0 0 60 0
    11 0 12 0
    12 0 13 0
    
    예상 출력
    1
    60
    1
    -1
    
  2. 예제 2

    입력
    2 5
    1201 1317 588 396
    658 1196 102 84
    442 8 1246 1200
    79 0 739 0
    355 286 98 72
    
    예상 출력
    827
    -1
    -1
    660
    5503