Dividir uma string com base em vogais e consoantes

Dada uma string, retorne uma nova string com todas as vogais minúsculas primeiro, seguidas por todos os outros caracteres. Preserve a ordem original dentro de cada grupo. Espaços, pontuação, letras maiúsculas e outros caracteres que não sejam vogais pertencem ao segundo grupo.

Exemplos

Program.Split("abcde") ➞ "aebcd"

Program.Split("Hello!") ➞ "eoHll!"

Program.Split("What's the time?") ➞ "aeieWht's th tm?"

Observações

As vogais são a, e, i, o e u.