#CCBCHBAHAI0000037. Chèn x tại vị trí p (Insert x at Position p)

Chèn x tại vị trí p (Insert x at Position p)

Chèn x tại vị trí p (Insert x at Position p)

Source: Phước Hưng OJ

Version: Phuoc Hung OJ Extended

Problem

A static array has capacity CC and current logical size nn, where

0≤n<C.0\le n<C.

The current array is a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}. Given an insertion index pp and value xx, where

0≤p≤n.0\le p\le n.

Insert xx at index pp. The new size is n′=n+1n'=n+1. The result bb satisfies

bi=ai(0≤i<p),b_i=a_i\qquad(0\le i<p), bp=x,b_p=x,

and

bi=ai−1(p<i<n′).b_i=a_{i-1}\qquad(p<i<n').

Print the new size and the resulting array.

Input

The first line contains integers C,n,p,xC,n,p,x. If n>0n>0, the second line contains nn 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 insertion on the second line.

Subtask

Subtask 1 (100 points): 1≤C≤2⋅1051\le C\le2\cdot10^5; 0≤n<C0\le n<C; 0≤p≤n0\le p\le n; ∣x∣,∣ai∣≤109|x|,|a_i|\le10^9.

Example

Input

6 4 2 99
10 20 30 40

Output

5
10 20 99 30 40

Explanation

The old elements from index 2 onward shift one position to the right, then 9999 is stored at index 2.