"""Challenge 100: Example original tool — shower-water estimator."""

def water_saving(minutes_before, minutes_after, litres_per_minute=9):
    if minutes_before < 0 or minutes_after < 0 or litres_per_minute < 0:
        raise ValueError("Values cannot be negative")
    return (minutes_before - minutes_after) * litres_per_minute

def main():
    print("Fictional estimate; actual flow rates vary.")
    try:
        before = float(input("Original shower minutes: "))
        after = float(input("New shower minutes: "))
        saved = water_saving(before, after)
    except ValueError as error:
        print("Please enter non-negative numbers.", error)
        return
    if saved > 0:
        print(f"Estimated saving: {saved:.1f} litres per shower")
        print(f"Estimated seven-shower saving: {saved * 7:.1f} litres")
    elif saved == 0:
        print("No estimated change.")
    else:
        print(f"Estimated extra use: {-saved:.1f} litres per shower")

if __name__ == "__main__":
    main()
