float solve(String input) {
    def (hours, minutes) = input.split(/:/)*.toInteger()
    float minutesPhase = minutes / 60
    float hoursPhase = ((hours % 12) / 12) + (minutesPhase / 12)
    float phaseDiff = Math.abs(hoursPhase - minutesPhase)
    return 360 * (0.5 - Math.abs(phaseDiff - 0.5))
}

println solve('15:20')