Find all possible increasing subsequences of a given length

What is the efficient way to find all possible increasing subsequences of a given length in scala ?

For eg: Suppose there is a sequence of numbers as follows:
7 6 9 11 16 10 12

The possible increasing subsequences of size 3 for the above sequence are :
7 9 11
7 9 16
7 9 10
7 9 12
7 11 16
7 11 12
7 10 12
6 9 11
6 9 16 etc…

I would like to know which scala data structures would help in finding the subsequences quickly.