'123 = 123, 132, 231, 213, 321, 312
Public Shared Function GetPermutations(ByVal s As String) As IEnumerable(Of String)
If (s.Length > 1) Then
Return (From p In s
From q In GetPermutations(s.Remove(s.IndexOf(p), 1))
Select String.Format("{0}{1}", p, q))
End If
Return New String() {s}
End Function