static void Main(string[] args)
        {
            string[] inputCar = Console.ReadLine().Split();
            Car      car      = new Car(double.Parse(inputCar[1]), double.Parse(inputCar[2]), double.Parse(inputCar[3]));

            string[] inputTruck = Console.ReadLine().Split();
            Truck    truck      = new Truck(double.Parse(inputTruck[1]), double.Parse(inputTruck[2]), double.Parse(inputTruck[3]));

            string[] inputBus         = Console.ReadLine().Split();
            Bus      bus              = new Bus(double.Parse(inputBus[1]), double.Parse(inputBus[2]), double.Parse(inputBus[3]));
            int      numberOfCommands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCommands; i++)
            {
                string[] commands       = Console.ReadLine().Split();
                string   currentCommand = commands[0] + " " + commands[1];
                double   currentNum     = double.Parse(commands[2]);

                if (currentCommand == "Drive Car")
                {
                    Console.WriteLine(car.Driving(currentNum, true));
                }
                else if (currentCommand == "Drive Truck")
                {
                    Console.WriteLine(truck.Driving(currentNum, true));
                }
                else if (currentCommand == "Drive Bus")
                {
                    Console.WriteLine(bus.Driving(currentNum, true));
                }
                else if (currentCommand == "DriveEmpty Bus")
                {
                    Console.WriteLine(bus.Driving(currentNum, false));
                }
                else if (currentCommand == "Refuel Car")
                {
                    car.Refuel(currentNum);
                }
                else if (currentCommand == "Refuel Truck")
                {
                    truck.Refuel(currentNum);
                }
                else if (currentCommand == "Refuel Bus")
                {
                    bus.Refuel(currentNum);
                }
            }

            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }
        static void Main(string[] args)
        {
            string[] data = Console.ReadLine().Split(" ");
            Vehicle  car  = new Car(double.Parse(data[1]), double.Parse(data[2]), double.Parse(data[3]));

            data = Console.ReadLine().Split(" ");
            Vehicle truck = new Truck(double.Parse(data[1]), double.Parse(data[2]), double.Parse(data[3]));

            data = Console.ReadLine().Split(" ");
            Vehicle bus = new Bus(double.Parse(data[1]), double.Parse(data[2]), double.Parse(data[3]));

            int count = int.Parse(Console.ReadLine());

            for (int i = 0; i < count; i++)
            {
                data = Console.ReadLine().Split(" ");
                string operation = data[0] + data[1];
                double value     = double.Parse(data[2]);
                try
                {
                    switch (operation)
                    {
                    case "DriveCar":
                        Console.WriteLine(car.Drive(value));
                        break;

                    case "DriveTruck":
                        Console.WriteLine(truck.Drive(value));
                        break;

                    case "DriveBus":
                        Console.WriteLine(bus.Drive(value));
                        break;

                    case "DriveEmptyBus":
                        var b = (Bus)bus;
                        b.TurnOffAirConditioner();
                        Console.WriteLine(b.Drive(value));
                        b.TurnOnAirConditioner();
                        break;

                    case "RefuelCar":
                        car.Refuel(value);
                        break;

                    case "RefuelTruck":
                        truck.Refuel(value);
                        break;

                    case "RefuelBus":
                        bus.Refuel(value);
                        break;

                    default:
                        break;
                    }
                }
                catch (ArgumentException exception)
                {
                    Console.WriteLine(exception.Message);
                }
            }

            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }
        public static void Main()
        {
            var carInfo   = Console.ReadLine().Split();
            var truckInfo = Console.ReadLine().Split();
            var busInfo   = Console.ReadLine().Split();

            var car = new Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3]));

            var truck = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3]));

            var bus = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3]));

            var numberOfCommands = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCommands; i++)
            {
                var commandInfo = Console.ReadLine().Split();

                var command = commandInfo[0];

                if (command == "Drive")
                {
                    if (commandInfo[1] == "Car")
                    {
                        car.Drive(double.Parse(commandInfo[2]));
                    }

                    else if (commandInfo[1] == "Truck")
                    {
                        truck.Drive(double.Parse(commandInfo[2]));
                    }

                    else if (commandInfo[1] == "Bus")
                    {
                        bus.ONAirConditioner();
                        bus.Drive(double.Parse(commandInfo[2]));
                        bus.OFFAirConditioner();
                    }
                }

                else if (command == "Refuel")
                {
                    if (commandInfo[1] == "Car")
                    {
                        car.Refuel(double.Parse(commandInfo[2]));
                    }

                    else if (commandInfo[1] == "Truck")
                    {
                        truck.Refuel(double.Parse(commandInfo[2]));
                    }

                    else if (commandInfo[1] == "Bus")
                    {
                        bus.Refuel(double.Parse(commandInfo[2]));
                    }
                }

                else if (command == "DriveEmpty")
                {
                    bus.Drive(double.Parse(commandInfo[2]));
                }
            }

            Console.WriteLine(car.ToString());
            Console.WriteLine(truck.ToString());
            Console.WriteLine(bus.ToString());
        }