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]
                        break
            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)