#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)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng số nguyên tăng nghiêm ngặt

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

và số nguyên xx không trùng với bất kỳ phần tử nào của mảng.

Hãy chèn xx vào mảng để thu được mảng mới bb có n+1n+1 phần tử và vẫn tăng nghiêm ngặt.

Đặt

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

Khi đó xx phải được chèn tại chỉ số pp; các phần tử từ pp trở đi của mảng cũ dịch sang phải một vị trí.

Hãy in kích thước mới và mảng kết quả.

Input

Dòng đầu chứa hai số nguyên nn và xx. Dòng thứ hai chứa nn số nguyên tăng nghiêm ngặt a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}.

Output

Dòng đầu in n+1n+1. Dòng thứ hai in mảng sau khi chèn xx.

Subtask

Subtask 1 (100 điểm): 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 với mọi ii.

Ví dụ

Input

5 6
1 3 5 8 10

Output

6
1 3 5 6 8 10

Giải thích

Phần tử đầu tiên lớn hơn 66 là 88 ở chỉ số 33, nên p=3p=3. Chèn 66 trước 88 cho mảng vẫn tăng nghiêm ngặt.