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


def solve(a, b, H, W):
    ret = np.empty(H, i8)
    dp = np.arange(W)
    dp0 = np.arange(W)
    edge = W
    arg = 0
    for i in range(H):
        r1 = np.searchsorted(dp[:edge], a[i])
        r2 = np.searchsorted(dp[:edge], b[i])
        if b[i] == W:
            edge = r1
            if edge == 0:
                ret[i] = -1
                return ret[: i + 1]
        else:
            dp[r1:r2] = b[i]
        if r1 <= arg < r2:
            arg = np.argmin(dp[:edge] - dp0[:edge])
        ret[i] = dp[arg] - dp0[arg] + i + 1
        if i % 10000 == 0:
            m = 0
            prev = dp[0]
            for k in range(1, edge):
                if dp[k] > prev:
                    dp0[m] = k - 1
                    dp[m] = prev
                    m += 1
                    prev = dp[k]
            else:
                dp0[m] = edge - 1
                dp[m] = prev
                edge = m + 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)