Problem:


Score : 600 points

Problem Statement

There is a grid of squares with H+1 horizontal rows and W vertical columns.

You will start at one of the squares in the top row and repeat moving one square right or down. However, for each integer i from 1 through H, you cannot move down from the A_i-th, (A_i + 1)-th, \ldots, B_i-th squares from the left in the i-th row from the top.

For each integer k from 1 through H, find the minimum number of moves needed to reach one of the squares in the (k+1)-th row from the top. (The starting square can be chosen individually for each case.) If, starting from any square in the top row, none of the squares in the (k+1)-th row can be reached, print -1 instead.

Constraints

1 \leq H,W \leq 2\times 10^5

1 \leq A_i \leq B_i \leq W

Input

Input is given from Standard Input in the following format:

H W
A_1 B_1
A_2 B_2
:
A_H B_H

Output

Print H lines. The i-th line should contain the answer for the case k=i.

Sample Input 1

4 4
2 4
1 1
2 3
2 4

Sample Output 1

1
3
6
-1

Let (i,j) denote the square at the i-th row from the top and j-th column from the left.

For k=1, we need one move such as (1,1) → (2,1).

For k=2, we need three moves such as (1,1) → (2,1) → (2,2) → (3,2).

For k=3, we need six moves such as (1,1) → (2,1) → (2,2) → (3,2) → (3,3) → (3,4) → (4,4).

For k=4, it is impossible to reach any square in the fifth row from the top.



Sample input:
4 4
2 4
1 1
2 3
2 4


Sample output:
1
3
6
-1

Submission status: Wrong Answer

Solution code:
# compiled by pythran
"""
#pythran export main2()
import numpy as np
i4 = np.int32
i8 = np.int64

INF = 1000000

def solve(a, b, H, W):
    ret = np.empty(H, i8)
    dp = np.arange(W)
    dp0 = np.arange(W)
    edge = W
    for i in range(H):
        if b[i] == W:
            edge = np.searchsorted(dp[:edge], a[i])
            if edge == 0:
                ret[i] = -1
                return ret[: i + 1]
        else:
            r1 = np.searchsorted(dp[:edge], a[i])
            r2 = np.searchsorted(dp[:edge], b[i])
            dp[r1:r2] = b[i]
        ret[i] = np.amin(dp[:edge] - dp0[:edge]) + i + 1
    return ret


def main(in_file):
    stdin = open(in_file)
    H, W = [int(x) for x in stdin.readline().split()]
    a = np.empty(W, i8)
    b = np.empty(W, i8)
    for i in range(H):
        a[i], b[i] = [int(x) for x in stdin.readline().split()]
    a -= 1
    ans = solve(a, b, H, W)
    p = '\n'.join([str(x) for x in ans])
    print(p)


def main2():
    main('/dev/stdin')
"""
import os, sys
p = os.path.dirname(__file__)
pymain = os.path.join(p, "a.out")
if len(sys.argv) == 1:
    import subprocess
    if p == "":
        pymain = "./" + pymain
    subprocess.call(pymain)
else:
    import gzip, base64, stat
    gz = b'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'
    bin = gzip.decompress(base64.b64decode(gz))
    with open(pymain, "wb") as f:
        f.write(bin)
    os.chmod(pymain, 0o775)