Longest Substring With K Distinct Characters