For this Question: You are given a string of length N consisting of lowercase english alphabets(a-z), in which you are allowed to change at most k consonants into a vowel (a, e, i, o, u).
Find the longest substring that consists of only vowels after changing at most k consonants into vowels.First line of input consists of two integers N and k.
Second line consists of a string of length N.

Constraints:-
0 <= N <= 10^5
0 <= k <= N

String will contain only lowercase english lettersA single integer showing the length of the longest substring consisting of only vowels.Sample Input:-
11 2
aoibbboeaub

Sample Output:-
6

Explanation:-
One of the possibility is:-
aoibbboeaub => aoibbeoeaue (two b(s) converted to e)

now the longest substring is *eoeaue* which consists of only vowels., I have written this Solution Code: import java.io.*;
import java.util.*;



class Main {
	public static void main (String[] args)throws IOException {

		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String line1[] = in.readLine().trim().split(" ");
		int n = Integer.parseInt(line1[0]);
		int k = Integer.parseInt(line1[1]);
		String line2 = in.readLine().trim();
		int maxLen = 0, len = 0, l=0, r=0, consonantCount = 0;

		while(r<n){
			char indexValue = line2.charAt(r);
			if(indexValue!='a' && indexValue!='e' && indexValue!='i' && indexValue!='o' && indexValue!='u')
				consonantCount++;


			r++;
			while(consonantCount>k){
				indexValue = line2.charAt(l);
				if(indexValue!='a' && indexValue!='e' && indexValue!='i' && indexValue!='o' && indexValue!='u')
					consonantCount--;
				l++;
			}

			if(r-l>maxLen)
				maxLen = r - l;

		}
		System.out.println(maxLen);
	}
}, In this Programming Language: Java, Now tell me if this Code is compilable or not?