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 = 0
            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)