def maxSumIncreasingSubsequence(array):
    sequeces = [None for _ in array]
	sums = [num for num in array]
	maxSumIdx = 0
	for i in range(len(array)):
		currentum = array[i]
		for j in range(0, i):
			otherum = array[j]
			if otherum < currentum and sums[j] + currentum >= sums[i]:
				sums[i] = sums[j] + currentum
				sequeces[i] = j
		if sums[maxSumIdx] <= sums[i]:
			maxSumIdx = i
	increasigSequence = buildSequece(array, sequeces, maxSumIdx)
	return [sums[maxSumIdx], increasigSequence]

def buildSequece(array, sequeces, curIdx):
	sequen = []
	while curIdx is not None:
		sequen.append(array[curIdx])
		curIdx = sequeces[curIdx]
	return list(reversed(sequen))