30 Taliban, 2 Afghan police killed in 14-hour battle