MUZSPLIT


  • Музыкальная последовательность
    MUZSPLIT

Описание
С точки зрения программиста нотная запись состоит из последовательности нот, каждой из которых соответствует один звук музыкальной темы. Hота, как выражение звука, имеет высоту и длительность. Возможны следующие длительности нот: 1-базовая длительность (зависит от темпа мелодии); 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128 -являются соответствующими долями базовой длительности

В нотной записи принято разделять последовательность нот на такты. Продолжительность такта определяется его размером

Hапример: размер 4/4 означает, что такт содержит четыре ноты длительности 1/4 или одну ноту 1. Допустимы следующие размеры такта: 2/4, 3/4, 4/4, 5/4, 3/86, 6/8. Существуют и другие (довольно экзотические) размеры, но в этой задачи они не используются


Задача
Требуется создать программу MUZSPLIT, которая по размеру такта и последовательности нот выводит эту последовательность, разбитую на такты в соответствии с указанным размером. Если нота не умещается в такте, остаток размещается в следующем такте. В том случае, когда при разбиении получается нота нестандартной длительности, нужно разбить и ее на минимальное количество нот стандартной длительности в порядке возрастания длительности.

Длительность всей последовательности нот кратна размеру такта


Формат входных данных
Входной файл MUZSPLIT.IN содержит последовательность строк. В первой строке - размер такта, для задания которого используется цепочка литер, обозначающая размер: "2/4", "3/4" и т.д. Во второй и последующих строках последовательность цепочек литер, обозначающих ноты ("1/2", "1/4", и т.д.), разделенных пробелами и/или символами перевода строки. Длинна исходной последовательности не превышает 1000 нот

Формат выходных данных
Выходные данные помещаются в файл MUZSPLIT.OUT, в каждой строке которого должна содержаться последовательность литералов, обозначающих ноты, соответствующие одному такту (по строке на такт)


Например:

MUZSPLIT.IN
4/4
1/2 1/4 1/2 1/2 1/4


MUZSPLIT.OUT

1/2 1/4 1/4
1/4 1/2 1/4