private static String findSmall(String s){
		int n = countOnes(s);
		char[] newString=s.toCharArray();
		int index = s.length()-1;
		while(n<k && index>=0){
			if(newString[index]=='0'){
				newString[index]='1';
				n++;
			}
			index--;
		}
		int index2 = s.length()-1;
		while(n>k && index2>=0){
			if(newString[index]=='1'){
				long temp = Long.parseLong(new String(newString), 2);
				temp+= 1 << s.length()-1-index2;
				newString = Long.toBinaryString(temp).toCharArray();
				n = countOnes(Long.toBinaryString(temp));
			}
			index2--;
		}
		return new String(newString);
	}