#CCBCHBAHAI0000046. Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)

Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)

Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)

Source: Phước Hưng OJ

Version: Phuoc Hung OJ Extended

Problem

Given a strictly increasing integer array

a0<a1<⋯<an−1a_0<a_1<\cdots<a_{n-1}

and an integer xx that is different from every array element.

Insert xx so that the resulting array bb has n+1n+1 elements and is still strictly increasing.

Define

$$p=\min\left(\{i\mid 0\le i<n,\ a_i>x\}\cup\{n\}\right).$$

Then xx must be inserted at index pp, while old elements from pp onward move one position to the right.

Print the new size and the resulting array.

Input

The first line contains integers nn and xx. The second line contains nn strictly increasing integers a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}.

Output

Print n+1n+1 on the first line. Print the array after inserting xx on the second line.

Subtask

Subtask 1 (100 points): 1≤n<2⋅1051\le n<2\cdot10^5; ∣ai∣,∣x∣≤109|a_i|,|x|\le10^9; ai<ai+1a_i<a_{i+1}; x≠aix\ne a_i for every ii.

Example

Input

5 6
1 3 5 8 10

Output

6
1 3 5 6 8 10

Explanation

The first element greater than 66 is 88 at index 33, so p=3p=3. Inserting 66 before 88 keeps the array strictly increasing.