BMW 5 Series - the best to buy in every generation