from decimal import Decimal

def main(input):
    output = []
    for row in input:
        price = Decimal(str(row["net_price"]))
        contribution = price - Decimal(str(row["unit_cost"])) - Decimal(str(row["fee"]))
        margin = contribution / price * 100 if price > 0 else None
        status = ("invalid_price" if margin is None else "loss" if contribution < 0
            else "below_floor" if margin < Decimal(str(row["margin_floor_pct"])) else "ok")
        output.append(dict(row, contribution=float(contribution),
            margin_pct=float(round(margin, 2)) if margin is not None else "", margin_status=status))
    return output
