Baka bullar

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

Du har bakat bullar och lagt dem på en lång rad. Totalt har du NN bullar, där den ii:te finns på xx-koordinat x_ix\_i. Du skulle vilja samla ihop bullarna så att de ligger bredvid varandra, alltså på koordinater a,a+1,a+2,,a+N1a, a+1, a+2, \dots, a+N-1 för något aa. Men bullarna är väldigt varma och kan endast hanteras med hjälp av en spade med bredd DD. I ett drag kan du välja ett intervall av längd DD och vända på alla bullar i det intervallet. Mer specifikt kan du välja ett intervall på formen \[L,L+D1]\[L, L+D-1]. En bulle vars xx-koordinat uppfyller Lx_iL+D1L \leq x\_i \leq L+D-1 flyttas då till xx-koordinat L+D1(x_iL)L + D - 1 - (x\_i - L).

Du får givet de NN bullarnas positioner och talet DD. Din uppgift är att hitta en sekvens av drag så att bullarna hamnar bredvid varandra. Du får använda högst 10510^5 drag.

입력

Den första raden innehåller två heltal NN och DD (2N,D2002 \leq N, D \leq 200).

Den andra raden innehåller NN heltal x_ix\_i (1x_i2001 \leq x\_i \leq 200). Alla talen x_ix\_i är olika.

출력

Om det inte finns någon lösning, skriv ut "-1".

Annars, skriv först ut en rad med heltalet MM (0M1050 \leq M \leq 10^5), antalet drag. Skriv därefter ut MM rader, där den ii:te innehåller heltalet L_iL\_i.

Detta innebär att det ii:te draget vänder på intervallet \[L_i,L_i+D1]\[L\_i, L\_i + D - 1]. Talet L_iL\_i får vara nästan\footnote{Heltalet måste uppfylla 2147483648L_i2147483647-2147483648 \leq L\_i \leq 2147483647, annars får du fel svar.} vilket heltal som helst, inklusive negativt. Lösningen räknas som korrekt om bullarna ligger bredvid varandra efter att samtliga drag utförts. Ordningen på bullarna spelar ingen roll.