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(r1 - 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)