자카르타의 마천루

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

자카르타에는 큰 빌딩 NN개가 일직선 위에 서 있다. 왼쪽부터 0,1,,N10, 1, \dots, N-1번이다. 이 도시에 다른 큰 빌딩은 없다.

이 도시에는 도게라고 부르는 신비한 생명체 MM마리가 산다. 도게에는 0,1,,M10, 1, \dots, M-1번이 붙어 있다. 도게 ii는 처음에 빌딩 BiB_i에 있고, 신비한 힘의 능력치는 양의 정수 PiP_i다. 능력치가 pp인 도게가 빌딩 bb에 있으면 한 번의 점프로 빌딩 b+pb+p나 빌딩 bpb-p로 옮겨 갈 수 있다. 단, 도착하는 빌딩 번호가 00 이상 NN 미만이어야 한다.

도게 0은 모든 도게의 지도자다. 급한 소식이 생겨 이 소식을 도게 1에게 최대한 빨리 전하려고 한다. 소식을 들은 도게는 다음 두 가지 중 하나를 할 수 있다.

  • 자신의 힘으로 다른 빌딩으로 점프한다.
  • 지금 있는 빌딩에 함께 있는 다른 도게에게 소식을 전한다.

소식을 도게 1에게 전하는 데 필요한 최소 점프 횟수를 구하는 프로그램을 작성하시오. 전할 방법이 없으면 그 사실도 알아내야 한다.

입력

첫째 줄에 정수 NNMM이 주어진다. 다음 MM개 줄에는 ii번째 줄마다 두 정수 BiB_iPiP_i가 주어진다.

  • 1N300001 \le N \le 30000
  • 2M300002 \le M \le 30000
  • 0Bi<N0 \le B_i < N
  • 1Pi300001 \le P_i \le 30000

출력

첫째 줄에 최소 점프 횟수를 출력한다. 소식을 전할 수 없으면 1-1을 출력한다.

힌트

빌딩이 5개이고 도게가 3마리인 경우를 보자. 도게 0은 빌딩 0에 있고 능력치가 2, 도게 1은 빌딩 1에 있고 능력치가 1, 도게 2는 빌딩 4에 있고 능력치가 1이다. 다음 순서를 따르면 점프 5번으로 소식을 전할 수 있다.

  • 도게 0이 빌딩 2로 점프하고, 다시 빌딩 4로 점프한다. (점프 2번)
  • 도게 0이 빌딩 4에 있는 도게 2에게 소식을 전한다.
  • 도게 2가 빌딩 3, 빌딩 2, 빌딩 1로 차례로 점프한다. (점프 3번)
  • 도게 2가 빌딩 1에 있는 도게 1에게 소식을 전한다.