codeforces#P1886E. I Wanna be the Team Leader

    ID: 34145 远端评测题 2000ms 512MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>bitmasksdpgreedymathsortingstwo pointers

I Wanna be the Team Leader

Description

Monocarp is a team leader in a massive IT company.

There are $m$ projects his team of programmers has to complete, numbered from $1$ to $m$. The $i$-th project has a difficulty level $b_i$.

There are $n$ programmers in the team, numbered from $1$ to $n$. The $j$-th programmer has a stress tolerance level $a_j$.

Monocarp wants to assign the programmers to the projects in such a way that:

  • each programmer is assigned to no more than one project;
  • each project has at least one programmer assigned to it;
  • let $k$ programmers be assigned to the $i$-th project; then all the assigned programmers have to have a stress tolerance level greater than or equal to $\frac{b_i}{k}$.

Help Monocarp to find a valid assignment. If there are multiple answers, print any of them.

The first line contains two integers $n$ and $m$ ($1 \le n \le 2 \cdot 10^5$; $1 \le m \le 20$) — the number of programmers and the number of projects.

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$) — the stress tolerance level of each programmer.

The third line contains $m$ integers $b_1, b_2, \dots, b_m$ ($1 \le b_i \le 10^9$) — the difficulty level of each project.

If there is no valid assignment, print "NO".

Otherwise, in the first line, print "YES". In the $i$-th of the next $m$ lines, print the list of the programmers assigned to the $i$-th project: first, the number of programmers, then their indices in an arbitrary order.

If there are multiple answers, print any of them.

Input

The first line contains two integers $n$ and $m$ ($1 \le n \le 2 \cdot 10^5$; $1 \le m \le 20$) — the number of programmers and the number of projects.

The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$) — the stress tolerance level of each programmer.

The third line contains $m$ integers $b_1, b_2, \dots, b_m$ ($1 \le b_i \le 10^9$) — the difficulty level of each project.

Output

If there is no valid assignment, print "NO".

Otherwise, in the first line, print "YES". In the $i$-th of the next $m$ lines, print the list of the programmers assigned to the $i$-th project: first, the number of programmers, then their indices in an arbitrary order.

If there are multiple answers, print any of them.

5 3
4 6 100 5 1
50 1 12
5 3
3 6 100 5 1
50 1 12
5 3
2 2 2 2 4
3 5 1
5 1
10 20 30 40 50
4
YES
1 3
1 5
3 2 4 1
NO
YES
1 5
3 1 2 3
1 4
YES
1 4