new file:   factorial.c