public static void mergeB2A( int[] a, int[] b , int lenA, int lenB) {
		assert( lenA + lenB < a.length ) : "invalid array size";
		int		iA  =  lenA - 1;		// last element of A
		int		iB  =  lenB - 1;		// last element of B
		int		 k  =  lenA + lenB - 1; // position of the ret array we r modifying
		
		// iterate through array b until iB reaches its head.
		while ( iB >= 0 ) {
			// if a[iA] is bigger, copy a[iA] at the position of k
			if ( a[iA] > b[iB] ) {
				a[k] = a[iA];
				iA--;
			} else {
			// else copy b[iB] at the position of k
				a[k] = b[iB];
				iB--;
			}
			k--;
		}
	}