# 堆放货物

## 题目背景

Caesar 看了你建设的城市后非常满意，提拔你担任 Genoa 的地方总督，并加薪 $50$ 第纳尔。最近他又写信给你说：Genoa 不能只靠 Rome 的财政扶持，你必须开展城市贸易增加财政收入。

在花费 $500$ 第纳尔开通了至 Capua 的商路后，来自 Capua 的船只源源不断地驶来，Genoa 急需建立一个仓库来临时存放送往 Capua 的货物。

## 题目描述

Genoa 的货物有三种：陶器，家具，大理石，共有 $n$ 个。他们的重量分别为 $1$，$2$，$3$ 个单位。现在，有 $p$ 艘 Capua 的船只在等待着仓库的货物，你应该将仓库里的货物分成 $p$ 堆，堆放规则如下：

- 同一堆中，重量从下至上应该是递减的（显然不能把大理石堆放在陶器或家具上）。
- 任意两堆重量之差不能超过 $3$ 个单位，否则会因分配过于不均发生船只间的冲突。

请你完成这个任务，给出一种可行的方案。

## 输入格式

第一行有一个整数，表示货物的个数 $n$。  
第二行有一个整数，表示堆数 $p$。  
第三行有 $n$ 个整数，第 $i$ 个整数表示第 $i$ 个货物的重量 $a_i$。

## 输出格式

**本题存在 Special Judge**。

输出 $p$ 行，每行若干个整数描述一堆货物，按照每堆**从下到上**的顺序列出该堆中每个货物的数量。

## 样例 #1

### 样例输入 #1

```
6
3
3 2 2 1 1 1
```

### 样例输出 #1

```
3 1
2 1
2 1
```

## 提示

#### 数据规模与约定

对于全部的测试点，保证 $2 \leq n \leq 10^3$，$1 \leq p \leq \lfloor\frac n 2 \rfloor$，$1 \leq a_i \leq 3$。

#### 说明

感谢 @cn：苏卿念 提供spj。

spj说明：

```
score:ouo：你的输出里面有不是'1','2','3',' ','\n','\r'的东西，具体以ASCII的第X号字符
score:pvp：你在第x组的时候装下了超过规定数量的'3'|'2'|'1'。
score:TAT：蛇皮judge没能读入到想要读入的东东(类似于你直接提交了一个puts(" / 特别特别多的空格/"))
score:qaq：你把重量为w1的货物放到了w2上面(w1>w2)在第i组的第j个货物
score:ovo：你没有装足够的x
score:qwq：你第i组和第j组的差的绝对值>3了，(要打架了)，第i组的重量和为x，第j组的重量和为y。
score:pwp：答案正确，恭喜你嘤嘤嘤
```