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: Time Limit Exceeded

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(H, i8)
    b = np.empty(H, 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)