Consulta com valor lido do teclado - PROLOG

Boas pessoal, seguinte quero fazer a seguinte pesquisa usando prolog: Retornar todas as pessoas que tenham o mesmo sexo, no entanto esse sexo deve ser lido do teclado. Eu consegui fazer sem ler do teclado e o código está assim:

pessoa('1', 'Olavia', 'Femenino'). pessoa('2', 'Henzel', 'Masculino'). pessoa('3', 'Vanilson', 'Masculino'). listarPorSexo(Lista):- findall(Nome, pessoa(_, Nome , 'Masculino'), Lista).

Agora a minha dificuldade está em fazer essa pesquisa com o valor sendo lido do teclado, eu já consigo ler o valor do teclado mais não sei como relacionar esse valor lido ao findall para retornar o valor, de momento o código está assim:

pessoa('1', 'Olavia', 'Femenino').
pessoa('2', 'Henzel', 'Masculino').
pessoa('3', 'Vanilson', 'Masculino').
listarPorSexo(Lista):-
write('Escreva o sexo: '), read(Sexo),
findall(Nome, pessoa(_, Nome , Sexo), Lista).