function compact_number_list(anArray){
	var len = anArray.length;
	var result = new Array();

	for(var i=0;i<len;i++){
		var seq;
		if(seq=isSequence(anArray[i], i, anArray)){
			result.push(seq);
			i += (seq[2])? (seq[1]-seq[0])/seq[2] : seq[1]-seq[0];
		} else {
			result.push(anArray[i]);
		}
	}
	return result;
}
function isSequence(el, index, array){
	var next=array[index+1];
	if(next == undefined){ return false; }

	var d = next - el;
	for(var i=0;array[index + i] == el + i * d;i++);

	if(i>2){
		return (d==1) ? [el, array[index + i -1]] : [el, array[index + i -1], d];
	} else {
		return false;
	}
}