private static Node mergeSort(Node n){
		if(n==null || n.next==null) return n;
		Node[] first_second = splitInHalf(n);
		Node firstHalf = mergeSort(first_second[0]);
		Node secondHalf = mergeSort(first_second[1]);
		return merge(firstHalf, secondHalf);
	}