|
Лимит времени 1000/2000/2000/2000 мс. Лимит памяти 65000/65000/65000/65000 Кб.
Уважаемые участники, убедитесь, что вы прочитали руководство (и особенно раздел «Полезные советы и важные замечания»)!
Студенты Иванов, Петров и Сидоров стреляют по банкам в тире. За каждую сбитую банку стрелок получает одно очко. Известно, что всего студенты расстреляли N патронов, и что результат Иванова лучше, чем результат Петрова, а результат Петрова лучше, чем результат Сидорова.
Требуется определить количество вариантов финального счёта, а также вывести сами эти варианты в лексикографическом порядке (см. примеры).
Входные данные
Первая строка содержит целое число N (3 <= N <= 100) — общее количество патронов.
Выходные данные
В первой строке выведите одно целое число K — количество вариантов финального счёта, при котором у Иванова больше очков, чем у Петрова, у Петрова больше очков, чем у Сидорова, а общая сумма очков не превышает N.
Далее выведите в лексикографическом порядке K строк вида «R1 R2 R3», каждая из которых описывает финальный счёт, где R1, R2 и R3 — результаты Иванова, Петрова и Сидорова соответственно.
Примеры
Входные данные | Выходные данные |
3 | 1 2 1 0 |
5 | 4 2 1 0 3 1 0 3 2 0 4 1 0 |
7 | 11 2 1 0 3 1 0 3 2 0 3 2 1 4 1 0 4 2 0 4 2 1 4 3 0 5 1 0 5 2 0 6 1 0 |
Для отправки решений необходимо выполнить вход.
|