Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. Pillars

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputMarmot found a row with *n* pillars. The *i*-th pillar has the height of *h*_{i} meters. Starting from one pillar *i*_{1}, Marmot wants to jump on the pillars *i*_{2}, ..., *i*_{k}. (1 ≤ *i*_{1} < *i*_{2} < ... < *i*_{k} ≤ *n*). From a pillar *i* Marmot can jump on a pillar *j* only if *i* < *j* and |*h*_{i} - *h*_{j}| ≥ *d*, where |*x*| is the absolute value of the number *x*.

Now Marmot is asking you find out a jump sequence with maximal length and print it.

Input

The first line contains two integers *n* and *d* (1 ≤ *n* ≤ 10^{5}, 0 ≤ *d* ≤ 10^{9}).

The second line contains *n* numbers *h*_{1}, *h*_{2}, ..., *h*_{n} (1 ≤ *h*_{i} ≤ 10^{15}).

Output

The first line should contain one integer *k*, the maximal length of a jump sequence.

The second line should contain *k* integers *i*_{1}, *i*_{2}, ..., *i*_{k} (1 ≤ *i*_{1} < *i*_{2} < ... < *i*_{k} ≤ *n*), representing the pillars' indices from the maximal length jump sequence.

If there is more than one maximal length jump sequence, print any.

Examples

Input

5 2

1 3 6 7 4

Output

4

1 2 3 5

Input

10 3

2 1 3 6 9 11 7 3 20 18

Output

6

1 4 6 7 8 9

Note

In the first example Marmot chooses the pillars 1, 2, 3, 5 with the heights 1, 3, 6, 4. Another jump sequence of length 4 is 1, 2, 4, 5.

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Mar/26/2019 16:26:12 (f2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|