Can't get rid of NZEC in JAVA

I a new to code chef and i tried solving one of the problem in the October challenge(my first attempt on codechef) but i got NZEC error. I tried my best to get rid of it but couldn’t solve. I will be very grateful if anyone could point out my mistake.

Here is my code.

class Main {
static data d[];
static java.io.File f1, f2;
static java.io.BufferedReader br = null;
static java.io.BufferedWriter bw = null;
static String s = “”, s1 = “”;
static String temp[];

public static void main(String args[]) throws Exception

{
	boolean flag = false;
	int number = 0;
	f1 = new java.io.File(args[0]);
	f2 = new java.io.File(args[1]);
	
		bw = new java.io.BufferedWriter(new java.io.FileWriter(f2));
		br = new java.io.BufferedReader(new java.io.FileReader(f1));
		s = br.readLine();
		flag = isNumber(s);
		if (flag)
			number = Integer.parseInt(s);
		else
			System.exit(0);
		d = new data[number];
		for (int i = 0; i < number; i++) {
			d[i] = new data();
			temp = br.readLine().trim().split(" ");
			flag = isNumber(temp[0]);
			if (flag)
				d[i].gar = new int[Integer.parseInt(temp[0])];
			else
				System.exit(0);

			flag = isNumber(temp[1]);
			if (flag)
				d[i].n = Integer.parseInt(temp[1]);
			else
				System.exit(0);
			temp = br.readLine().trim().split(" ");
			for (int k = 0; k < temp.length; k++) {
				flag = isNumber(temp[k]);
				if (flag)
					d[i].gar[k] = Integer.parseInt(temp[k]);
				else
					System.exit(0);
			}
		}
	
	for (int i = 0; i < number; i++)
		try {
			s1 = s1 + Output(i);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	try {
		bw.write(s1);
		bw.close();
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

private static boolean isNumber(String string) {
	try {
		Integer.parseInt(string);
		return true;
	} catch (Exception e) {
		return false;
	}
}

private static String Output(int i) throws java.lang.Exception {
	int sum = 0;
	boolean flag = true;
	java.util.Arrays.sort(d[i].gar);
	int n = d[i].n;
	if ((d[i].gar[d[i].gar.length - 1] - d[i].gar[0]) > n)
		s = "No\n";
	else {
		int m = d[i].gar[d[i].gar.length - 1];
		outer: for (int j = 0; j < d[i].gar.length - 1; j++) {
			sum += m - d[i].gar[j];
			if (sum > n) {
				flag = false;
				break outer;
			}
		}

		if (!flag)
			s = "No\n";
		else {
			if (sum < n)
				s = "No\n";
			else
				s = "Yes\n";

		}

	}
	return s;
}

}

class data {
int gar[];
int n;
}