atcoder#AGC011F. [AGC011F] Train Service Planning

[AGC011F] Train Service Planning

Score : 17001700 points

Problem Statement

There is a railroad in Takahashi Kingdom. The railroad consists of NN sections, numbered 11, 22, ..., NN, and N+1N+1 stations, numbered 00, 11, ..., NN. Section ii directly connects the stations i1i-1 and ii. A train takes exactly AiA_i minutes to run through section ii, regardless of direction. Each of the NN sections is either single-tracked over the whole length, or double-tracked over the whole length. If Bi=1B_i = 1, section ii is single-tracked; if Bi=2B_i = 2, section ii is double-tracked. Two trains running in opposite directions can cross each other on a double-tracked section, but not on a single-tracked section. Trains can also cross each other at a station.

Snuke is creating the timetable for this railroad. In this timetable, the trains on the railroad run every KK minutes, as shown in the following figure. Here, bold lines represent the positions of trains running on the railroad. (See Sample 1 for clarification.)

When creating such a timetable, find the minimum sum of the amount of time required for a train to depart station 00 and reach station NN, and the amount of time required for a train to depart station NN and reach station 00. It can be proved that, if there exists a timetable satisfying the conditions in this problem, this minimum sum is always an integer.

Formally, the times at which trains arrive and depart must satisfy the following:

  • Each train either departs station 00 and is bound for station NN, or departs station NN and is bound for station 00.
  • Each train takes exactly AiA_i minutes to run through section ii. For example, if a train bound for station NN departs station i1i-1 at time tt, the train arrives at station ii exactly at time t+Ait+A_i.
  • Assume that a train bound for station NN arrives at a station at time ss, and departs the station at time tt. Then, the next train bound for station NN arrives at the station at time s+Ks+K, and departs the station at time t+Kt+K. Additionally, the previous train bound for station NN arrives at the station at time sKs-K, and departs the station at time tKt-K. This must also be true for trains bound for station 00.
  • Trains running in opposite directions must not be running on the same single-tracked section (except the stations at both ends) at the same time.

Constraints

  • 1N1000001 \leq N \leq 100000
  • 1K1091 \leq K \leq 10^9
  • 1Ai1091 \leq A_i \leq 10^9
  • AiA_i is an integer.
  • BiB_i is either 11 or 22.

Partial Score

  • In the test set worth 500500 points, all the sections are single-tracked. That is, Bi=1B_i = 1.
  • In the test set worth another 500500 points, N200N \leq 200.

Input

The input is given from Standard Input in the following format:

NN KK

A1A_1 B1B_1

A2A_2 B2B_2

:

ANA_N BNB_N

Output

Print an integer representing the minimum sum of the amount of time required for a train to depart station 00 and reach station NN, and the amount of time required for a train to depart station NN and reach station 00. If it is impossible to create a timetable satisfying the conditions, print 1-1 instead.

3 10
4 1
3 1
4 1
26

For example, the sum of the amount of time in question will be 2626 minutes in the following timetable:

In this timetable, the train represented by the red line departs station 00 at time 00, arrives at station 11 at time 44, departs station 11 at time 55, arrives at station 22 at time 88, and so on.

1 10
10 1
-1
6 4
1 1
1 1
1 1
1 1
1 1
1 1
12
20 987654321
129662684 2
162021979 1
458437539 1
319670097 2
202863355 1
112218745 1
348732033 1
323036578 1
382398703 1
55854389 1
283445191 1
151300613 1
693338042 2
191178308 2
386707193 1
204580036 1
335134457 1
122253639 1
824646518 2
902554792 2
14829091348