[1][2][3][4]
[1, 4][2][3]
[1][2, 4][3]
[1][2][3, 4]
[1, 3][2][4]
[1, 3, 4][2]
[1, 3][2, 4]
[1][2, 3][4]
[1, 4][2, 3]
[1][2, 3, 4]
[1, 2][3][4]
[1, 2, 4][3]
[1, 2][3, 4]
[1, 2, 3][4]
[1, 2, 3, 4]
Algorithm to generate spanning set