#CCBCHBAHAI0000035. Chèn giá trị vào đầu bằng dịch phải (Insert at the Front by Right Shifting)

Chèn giá trị vào đầu bằng dịch phải (Insert at the Front by Right Shifting)

Chèn giá trị vào đầu bằng dịch phải (Insert at the Front by Right Shifting)

Source: Phước Hưng OJ

Version: Phuoc Hung OJ Extended

Problem

A static array has capacity CC, meaning that it can store at most CC elements. It currently contains the logical sequence

a0,a1,…,an−1,0≤n≤C.a_0,a_1,\ldots,a_{n-1},\qquad 0\le n\le C.

Insert value xx at the front.

  • If n=Cn=C, the array is full and insertion cannot be performed.
  • If n<Cn<C, the new logical size is n′=n+1n'=n+1 and the result bb satisfies
b0=x,b_0=x, bi=ai−1(1≤i<n′).b_i=a_{i-1}\qquad(1\le i<n').

Perform the insertion according to these rules.

Input

The first line contains integers C,n,xC,n,x. If n>0n>0, the second line contains nn integers a0,a1,…,an−1a_0,a_1,\ldots,a_{n-1}.

Output

If n=Cn=C, print FULL. Otherwise, print the new size n+1n+1 on the first line and the resulting elements on the second line.

Subtask

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

Example

Input

5 3 9
1 2 3

Output

4
9 1 2 3

Explanation

Since n=3<C=5n=3<C=5, free capacity exists. The three old elements shift one position to the right, then 99 is written at index 00.