Scrivere un programma in cui il thread principale ne crea due ausiliari, t1 e t2, che si comportano come segue. t1 riceve, all'atto della creazione, un numero intero n di cui calcola il fattoriale. Il risultato n! viene trasferito al thread principale usando la pthread_exit (e tenendo a mente che le variabili automatiche di t1 vengono deallocate al momento della sua terminazione). t2 riceve in ingresso una struttura contenente una stringa s e un intero k. t2 stampa un conto alla rovescia con una cadenza pari a un secondo partendo da k fino ad arrivare a zero. Le stampe a video includono anche la stringa s. Se per esempio s vale "ciao" e k vale 5, t2 deve stampare a video: ciao: 5 ciao: 4 ciao: 3 ciao: 2 ciao: 1 ciao: 0 Per "addormentare" il thread per 1 secondo usare la funzione sleep() di unistd.h. Il thread principale - legge da tastiera i valori di n, s e k - crea t1 e t2 e passa loro opportuni argomenti - attende la terminazione di t1 con una pthread_join, attravero la quale riceve il risultato n! - stampa a video n!