ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules

1922. Superhero Team

Time limit: 1.0 second
Memory limit: 64 MB
The world is in danger! You must be wondering what threatens us this time. It doesn't matter! There are n superheroes in our world! They are able to defeat any evil!
We need a reliable team to save the world, but not every team of superheroes could become one. For example, superhero-analyst needs at least two teammates to show his talent in a best way, but universal superhero can do everything without any help.
For every hero the minimal size of team, inside which he wants to work, is known. Team is said to be effective when it satisfies wishes of every superhero in it. An effective team is a reliable one if adding any superhero to it makes it ineffective. An effective team including all superheroes is reliable too.
The world really wishes to know how many different reliable teams exist.

Input

The first line contains the only integer n — the number of superheroes in the world (1 ≤ n ≤ 1 000). In the next n lines the numbers ai are given, one in every line — wishes of every hero (1 ≤ ai ≤ 1 000).

Output

In the first line output integer k that is the number of different reliable teams that could be made of heroes. In the next k lines output a description of every team. Every description contains a quantity of members and their numbers, same as in the input data. You could output the teams and heroes in any order.

Sample

inputoutput
5
1
3
3
6
6
2
1 1
3 2 1 3
Problem Author: Grigoriy Nazarov
Problem Source: Ural Regional School Programming Contest 2012