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, superheroanalyst 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 a_{i} are given, one in every line — wishes of every hero (1 ≤ a_{i} ≤ 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
input  output 

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