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