ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1922. Команда супергероев

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Мир в опасности. Вам интересно, какая беда грозит нам на этот раз? Это неважно! Ведь в нашем мире есть супергерои, целых n, и они способны победить любые силы зла!
Чтобы спасти мир, нужна сплочённая команда, но не любая компания супергероев может ей стать. Например, супергерою-аналитику нужно, по крайней мере, двое товарищей, чтобы в должной мере раскрыть талант, а супергерой-универсал может и в одиночку сделать всё, что требуется.
Для каждого героя известен минимальный размер команды ai, в которой он хочет работать. Команда считается эффективной, если удовлетворены пожелания всех входящих в неё супергероев. Эффективная команда является сплочённой, если при добавлении любого не задействованного в этой команде героя команда перестанет быть эффективной. Эффективная команда, состоящая из всех героев, также является сплочённой.
Всему миру очень хочется узнать, сколько существует различных сплочённых эффективных команд супергероев.

Исходные данные

В первой строке входных данных единственное целое число n — количество супергероев в мире (1 ≤ n ≤ 1 000). В следующих n строках по одному в строке целые числа ai — пожелания героев (1 ≤ ai ≤ 1 000).

Результат

В первой строке выведите число k — количество различных сплочённых команд, которые можно собрать из данных героев. В следующих k строках выведите описания этих команд. Каждое описание состоит из количества героев в команде и их номеров во входных данных. Сами команды и номера героев в них можете выводить в произвольном порядке. Герои нумеруются с единицы в том же порядке, как и во входных данных.

Пример

исходные данныерезультат
5
1
3
3
6
6
2
1 1
3 2 1 3
Автор задачи: Григорий Назаров
Источник задачи: Уральская региональная командная олимпиада по программированию 2012