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)
    arg0 = W - 1
    arg = -1
    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 arg0 > -1:
            if r1 <= arg0 < r2:
                for j in range(r1 - 1, -1, -1):
                    if dp[j] == j:
                        arg0 = j
                        ret[i] = i + 1
                        break
                else:
                    arg0 = -1
                    arg = r1
            else:
                ret[i] = i + 1
        if arg0 == -1:
            if r1 <= arg < r2:
                arg = np.argmin(dp - dp0)
            ret[i] = dp[arg] - dp0[arg] + i + 1

        if i % 1000 == 0:
            m = 0
            prev = dp[0]
            for k in range(1, dp.shape[0]):
                if dp[k] > prev:
                    dp0[m] = k - 1
                    dp[m] = prev
                    m += 1
                    prev = dp[k]
            else:
                dp0[m] = dp[-1]
                dp[m] = prev
                m += 1
            dp0 = dp0[: m]
            dp = dp[: m]
            if arg0 > -1:
                for j in range(dp.shape[0] - 1, -1, -1):
                    if dp[j] == j:
                        arg0 = j
                        ret[i] = i + 1
                        break
                else:
                    arg0 = -1
                    arg = np.argmin(dp - dp0)
            else:
                arg = np.argmin(dp - dp0)
    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)