直角,预览见剪贴板
### 题目描述
Monocarp是一家大型IT公司的团队领导。
他的程序猿团队需要完成 $ m $ 个项目,编号从 $ 1 $ 到 $ m $ 。第 $ i $ 个项目的难度等级为 $ b_i $ 。
团队中有 $ n $ 名程序猿,编号从 $ 1 $ 到 $ n $ 。第 $ j $ 名程序猿的压力承受能力为 $ a_j $ 。
Monocarp希望将程序猿分配到项目上,满足以下条件:
+ 每名程序猿最多只能分配到一个项目;
+ 每个项目至少有一名程序猿被分配到;
+ 如果将 $ k $ 名程序猿分配到第 $ i $ 个项目上,则所有被分配的程序猿的压力承受能力必须大于等于 $ \frac{b_i}{k} $ 。
帮助Monocarp找到一个有效的分配方案。如果有多个答案,输出其中任意一个即可。
------------
### 输入格式
第一行包含两个整数 $ n $ 和 $ m $ ( $ 1 \le n \le 2 \cdot 10^5 $ ; $ 1 \le m \le 20 $ )为程序猿数量和项目数量。
第二行包含 $ n $ 个整数 $ a_1, a_2, \dots, a_n $ ( $ 1 \le a_i \le 10^9 $ )为每个程序猿的压力承受能力。
第三行包含 $ m $ 个整数 $ b_1, b_2, \dots, b_m $ ( $ 1 \le b_i \le 10^9 $ )为每个项目的难度等级。
------------
### 输出格式
如果不存在有效的分配方案,输出 "NO" 。
否则,在第一行输出 "YES" 。接下来的 $ m $ 行中,每行输出被分配到第 $ i $ 个项目的程序猿列表:首先是程序猿数量,然后是这些程序猿的索引,顺序任意。
如果存在多个答案,输出其中任意一个即可。