Esperar input por determinado tempo?

Fala aí pessoal, sou novo aqui e em programação também.
Alguém poderia me dar uma dica de como faço um programa
agir da seguinte forma?

Quero que ele espere por 5 segundos para executar algo,
mas se algo for digitado antes desses 5 segundos quero
executar outra coisa, alguma dica do que eu devo fazer?

Vou dar o exemplo de um código que me levantou essa duvida:
Tenho 2 valores random
E eu espero que seja digitado a soma dos dois,
caso esteja correto, imprimo acertou, caso contrário
imprimo errou. Mas como faço para esperar por 5 segundos
esse input? caso passe desses 5 segundos imprima
por exemplo: Tempo esgotado!