items = []

print("Enter each item name and price. Press Enter on a blank item name when done.")

while True:
	item_name = input("Item name: ").strip()
	if item_name == "":
		break

	while True:
		entry = input(f"Price for {item_name}: ").strip()
		try:
			price = float(entry)
			if price < 0:
				print("Price cannot be negative.")
				continue
			items.append((item_name, price))
			break
		except ValueError:
			print("Please enter a valid number.")

if not items:
	print("No items entered.")
else:
	subtotal = sum(price for _, price in items)

	while True:
		tip_input = input("What percent tip would you like to leave? ").strip().replace("%", "")
		try:
			tip_percent = float(tip_input)
			if tip_percent < 0:
				print("Tip percent cannot be negative.")
				continue
			break
		except ValueError:
			print("Please enter a valid tip percentage.")

	tip_amount = round(subtotal * (tip_percent / 100))
	total_bill = subtotal + tip_amount

	print("\nItemized bill:")
	for item_name, price in items:
		print(f"- {item_name}: ${price:.2f}")

	print(f"\nCheck subtotal: ${subtotal:.2f}")
	print(f"Tip ({tip_percent:.1f}%): ${tip_amount:.2f}")
	print(f"Final bill: ${total_bill:.2f}")
