import pandas as pd


def format_weight(weight: dict) -> dict:
    weight_series = pd.Series(weight)
    weight_series = weight_series.fillna(0)
    minidx = weight_series[weight_series > 0].idxmin()
    maxidx = weight_series.idxmax()
    weight_series = weight_series.apply(lambda x: round(x, 2))
    if weight_series.sum() == 1:
        return dict(weight_series)
    elif weight_series.sum() < 1:
        weight_series[minidx] += 1 - weight_series.sum()
    elif weight_series.sum() > 1:
        weight_series[maxidx] += 1 - weight_series.sum()
    return dict(weight_series.apply(lambda x: round(float(x), 2)))


if __name__ == '__main__':
    print(format_weight({19: 0.13, 27: 0.17, 31: 0.35, 56: 0.36}))