605/C - K.A. Ruwan (40 points)