In a class of 50 students, 23 speak English, 15 speak Hindi and 18 speak Punjabi. 3 speak only English and Hindi, 6 speak only Hindi and Punjabi and 6 speak only English and Punjabi. If 9 can speak only English, then how many students speak all the three languages?