atcoder#ABC204E. [ABC204E] Rush Hour 2

[ABC204E] Rush Hour 2

Score : 500500 points

Problem Statement

The Republic of AtCoder has NN cities and MM roads.

The cities are numbered 11 through NN, and the roads are numbered 11 through MM. Road ii connects City AiA_i and City BiB_i bidirectionally.

There is a rush hour in the country that peaks at time 00. If you start going through Road ii at time tt, it will take Ci+Dit+1C_i+ \left\lfloor \frac{D_i}{t+1} \right\rfloor time units to reach the other end. (x\lfloor x\rfloor denotes the largest integer not exceeding xx.)

Takahashi is planning to depart City 11 at time 00 or some integer time later and head to City NN.

Print the earliest time when Takahashi can reach City NN if he can stay in each city for an integer number of time units. It can be proved that the answer is an integer under the Constraints of this problem.

If City NN is unreachable, print -1 instead.

Constraints

  • 2N1052 \leq N \leq 10^5
  • 0M1050 \leq M \leq 10^5
  • 1Ai,BiN1 \leq A_i,B_i \leq N
  • 0Ci,Di1090 \leq C_i,D_i \leq 10^9
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN MM

A1A_1 B1B_1 C1C_1 D1D_1

\vdots

AMA_M BMB_M CMC_M DMD_M

Output

Print an integer representing the earliest time when Takahashi can reach City NN, or -1 if City NN is unreachable.

2 1
1 2 2 3
4

We will first stay in City 11 until time 11. Then, at time 11, we will start going through Road 11, which will take 2+31+1=32+\left\lfloor \frac{3}{1+1} \right\rfloor = 3 time units before reaching City 22 at time 44.

It is impossible to reach City 22 earlier than time 44.

2 3
1 2 2 3
1 2 2 1
1 1 1 1
3

There may be multiple roads connecting the same pair of cities, and a road going from a city to the same city.

4 2
1 2 3 4
3 4 5 6
-1

There may be no path from City 11 to City NN.

6 9
1 1 0 0
1 3 1 2
1 5 2 3
5 2 16 5
2 6 1 10
3 4 3 4
3 5 3 10
5 6 1 100
4 2 0 110
20