function ArraySort( arr : array< Int32 > ) : array< Int32 >
{
	var sortedArray : array< Int32 >;
	var i, j : Int32;
	var minIndex : Int32;
	var temp : Int32;
	sortedArray = arr;
	for( i = 0; i < sortedArray.Size(); i += 1 )
	{
		minIndex = i;
		for( j = i + 1; j < sortedArray.Size(); j += 1 )
		{
			if( sortedArray[ j ] < sortedArray[ minIndex ] )
			{
				minIndex = j;
			}
		}
		if( minIndex != i )
		{
			temp = sortedArray[ i ];
			sortedArray[ i ] = sortedArray[ minIndex ];
			sortedArray[ minIndex ] = temp;
		}
	}
	return sortedArray;
}

function ArraySortReverse( arr : array< Int32 > ) : array< Int32 >
{
	var sortedArray : array< Int32 >;
	var i, j : Int32;
	var maxIndex : Int32;
	var temp : Int32;
	sortedArray = arr;
	for( i = 0; i < sortedArray.Size(); i += 1 )
	{
		maxIndex = i;
		for( j = i + 1; j < sortedArray.Size(); j += 1 )
		{
			if( sortedArray[ j ] > sortedArray[ maxIndex ] )
			{
				maxIndex = j;
			}
		}
		if( maxIndex != i )
		{
			temp = sortedArray[ i ];
			sortedArray[ i ] = sortedArray[ maxIndex ];
			sortedArray[ maxIndex ] = temp;
		}
	}
	return sortedArray;
}

