import 'dart:io'; void main() { List> incomeList = []; List> expenseList = []; while (true) { print("\n--- Budget Management System ---"); print("1. Add Income"); print("2. Add Expense"); print("3. View Summary"); print("4. Exit"); stdout.write("Choose an option: "); String? choice = stdin.readLineSync(); if (choice == "1") { stdout.write("Enter income description: "); String? desc = stdin.readLineSync(); stdout.write("Enter amount: "); double? amount = double.tryParse(stdin.readLineSync() ?? ""); if (amount != null && amount >= 0) { incomeList.add({desc ?? "Income": amount}); print("Income added."); } else { print("Invalid amount."); } } else if (choice == "2") { stdout.write("Enter expense description: "); String? desc = stdin.readLineSync(); stdout.write("Enter amount: "); double? amount = double.tryParse(stdin.readLineSync() ?? ""); if (amount != null && amount >= 0) { expenseList.add({desc ?? "Expense": amount}); print("Expense added."); } else { print("Invalid amount."); } } else if (choice == "3") { double totalIncome = incomeList.fold(0, (sum, item) => sum + item.values.first); double totalExpenses = expenseList.fold(0, (sum, item) => sum + item.values.first); double net = totalIncome - totalExpenses; print("\n--- Summary ---"); print("Total Income: \$${totalIncome}"); print("Total Expenses: \$${totalExpenses}"); print(net >= 0 ? "Net Profit: \$${net}" : "Net Loss: \$${net.abs()}"); if (net > 0) { double tax = net * 0.15; print("Tax to Pay (15%): \$${tax}"); } } else if (choice == "4") { print("Goodbye!"); break; } else { print("Invalid choice."); } } }