Баланс
Инвестор распределяет часть своих активов по финансовым инструментам, количество которых равно NINSTRUMENTS. По окончании каждого периода из этих инструментов вычитается фиксированная административная плата, затем комиссия, представляющая собой процент от суммы, инвестированной в начале периода, и добавляется доход, который может быть как положительным, так и отрицательным процентом от первоначальной суммы. Если после таких операций баланс какого-либо счета становится нулевым или отрицательным, он считается закрытым (комиссии с него не взимаются, и он рассматривается как нулевой) до следующей ребалансировки. Ребалансировка происходит каждые NREBALANCE периодов, когда общие активы инвестора перераспределяются в соответствии с изначальными пропорциями инструментов. Без ребалансировки активы инвестора могут быть подвержены большему риску из-за доминирования инструментов с более высокой доходностью, что может нарушить сбалансированный инвестиционный план. Обратите внимание, что все инструменты могут обнулиться, и в таком случае они останутся закрытыми на оставшиеся периоды. Ваша задача — смоделировать стоимость такой инвестиционной стратегии и сообщить конечную стоимость каждого инструмента (до ребалансировки, если она приходится на период, когда должна произойти ребалансировка). Рассчитывайте результаты с двойной точностью (не округляйте промежуточные значения до копеек), но округляйте окончательные ответы до копеек.
Входные данные
Первая строка входных данных содержит три положительных целых числа: NINSTRUMENTS, NTERMS и NREBALANCE. Количество инструментов не превышает 10, а количество периодов — 20. Далее следуют три строки с числами с плавающей запятой, разделенными пробелами, в следующем формате: FIXED_FEE(1) .. FIXED_FEE(NINSTRUMENTS), PERCENTAGE_FEE(1) .. PERCENTAGE_FEE(NINSTRUMENTS), PRINCIPAL_START(1) .. PRINCIPAL_START(NINSTRUMENTS). Затем идут NTERMS строк, каждая из которых содержит NINSTRUMENTS чисел с плавающей запятой, указывающих процентную доходность каждого инструмента в каждом периоде: RETURN(1,1) .. RETURN(1,NINSTRUMENTS), RETURN(2,1) .. RETURN(2,NINSTRUMENTS), .. RETURN(NTERMS,1) .. RETURN(NTERMS,NINSTRUMENTS). Все проценты (PERCENTAGE_FEE и RETURN) даны в виде долей, с точностью до 4 десятичных знаков. Например, комиссия 0.0002 означает, что 0.02
Выходные данные
Выведите в одной строке основную сумму каждого инвестиционного инструмента (разделенные пробелом) в конце NTERMS периодов. Округлите каждую основную сумму до ближайшей копейки. PRINCIPAL_END(1) .. PRINCIPAL_END(NINSTRUMENTS)