Challenge problem

can anyone tell me what is wrong in this code?

import java.util.*;

public class Main {

public static void main(String args[]) {
	Scanner scn = new Scanner(System.in);
//	Scanner s=new Scanner(System.in);
	int k = scn.nextInt();
	String str = scn.nextLine();
	change_string(str, k);
}
public static void change_string(String s, int k) {
	int i, m = 0;
	for (i = 0; i < 2; i++) {
		int t = k;
		int l = 0, r = 0;
		char ch = (char) ('a' + i);
		while (r < s.length()) {
			if (s.charAt(r) != ch && t == 0) {
				m = Math.max(m, r - l);
				while (t == 0) {
					if(s.charAt(l)!=ch) {
						t++;
					}
					l++;
				}
			} else if (s.charAt(r) != ch) {
				r++;
				t--;
			} else {
				r++;
			}
			m = Math.max(m, r - l);
		}
	}
	System.out.println(m);
}

}

Hey @VinayakSingh11111
Code is fine Just a change
String str = scn.next();
instead of String str = scn.nextLine();