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)
    dp = np.arange(W)
    dp0 = np.arange(W)
    edge = W
    arg = 0
    for i in range(H):
        r1 = np.searchsorted(dp[:edge], a[i])
        r2 = np.searchsorted(dp[:edge], b[i])
        if b[i] == W:
            edge = r1
            if edge == 0:
                ret[i] = -1
                return ret[: i + 1]
        else:
            dp[r1:r2] = b[i]
        if r1 <= arg < r2:
            arg = np.argmin(dp[:edge] - dp0[:edge])
        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(W, i8)
    b = np.empty(W, 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)