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

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