Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

bitmasks

constructive algorithms

dp

greedy

math

sortings

two pointers

*2400

No tag edit access

The problem statement has recently been changed. View the changes.

×
E. I Wanna be the Team Leader

time limit per test

2 secondsmemory limit per test

512 megabytesinput

standard inputoutput

standard outputMonocarp 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.

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.

Examples

Input

5 3 4 6 100 5 1 50 1 12

Output

YES 1 3 1 5 3 2 4 1

Input

5 3 3 6 100 5 1 50 1 12

Output

NO

Input

5 3 2 2 2 2 4 3 5 1

Output

YES 1 5 3 1 2 3 1 4

Input

5 1 10 20 30 40 50 4

Output

YES 1 4

Codeforces (c) Copyright 2010-2023 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Dec/11/2023 08:50:19 (f1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|