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.