public ArrayList<ArrayList<Integer>> fourSum(int[] num, int target) {
		ArrayList<ArrayList<Integer>> res = new ArrayList<ArrayList<Integer>>();
		if(num.length<4)
			return res;
		Arrays.sort(num);
		for (int i = 0; i < num.length; i++) {
			for (int j = i + 1; j < num.length; j++) {
				int k = j + 1;
				int l = num.length - 1;
				while (k < l) {
					int sum = num[i] + num[j] + num[k] + num[l];
					if (sum > target)
						l--;
					else if (sum < target)
						k++;
					else if (sum == target) {
						ArrayList<Integer> temp = new ArrayList<Integer>();
						temp.add(num[i]);
						temp.add(num[j]);
						temp.add(num[k]);
						temp.add(num[l]);
						if (!res.contains(temp)) 
							res.add(temp);
						k++;
						l--;
					}
				}
			}
		}
		return res;
	}